這篇文章主要講解了“Java Socket客服端第二次傳送信息時(shí)服務(wù)端收不到消息怎么解決”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java Socket客服端第二次傳送信息時(shí)服務(wù)端收不到消息怎么解決”吧!
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、懷遠(yuǎn)網(wǎng)站維護(hù)、網(wǎng)站推廣。
小問題一:
在客戶端使用如下代碼時(shí)候,服務(wù)端接收不到客戶端信息。
PrintWriter pw = new PrintWriter(new BufferedOutputStream(os));pw.print("this is a clent:"+i);pw.flush();
此時(shí),我把代碼改成如下,服務(wù)端可以看到客戶端發(fā)送的信息。
os = socket.getOutputStream();PrintWriter pw = new PrintWriter(new BufferedOutputStream(os));pw.print("this is a clent:"+i+"\n");// 或者換成 pw.println("this is a clent:"+i);pw.flush();
這兩段代碼的區(qū)別是,一個(gè)代碼沒有加換行符,而另一個(gè)代碼加了換行符。
小問題二:
在服務(wù)端開啟后,客戶端執(zhí)行完創(chuàng)建Socket代碼之后,將不會在進(jìn)行代碼的連接檢查,這樣帶來了一個(gè)后果,當(dāng)代碼執(zhí)行如下代碼之后,關(guān)閉服務(wù)端的連接,并不能出現(xiàn)Connection refused (Connection refused)提示。
socket = new Socket("127.0.0.1", 10000);
下面貼出完整代碼:
客戶端:
public static void main(String[] args) { Socket socket = null; OutputStream os = null; try {int i=0; socket = new Socket("127.0.0.1", 10000); while (true) { i++; os = socket.getOutputStream(); PrintWriter pw = new PrintWriter(new BufferedOutputStream(os)); Thread.sleep(1000L); pw.print("this is a clent:"+i+"\n"); pw.flush(); //接收服務(wù)端:
public static void main(String[] args) {try { ServerSocket serverSocket = new ServerSocket(10000); Socket socket = null; InputStream inputStream = null; while (true) { socket = serverSocket.accept(); inputStream = socket.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); System.out.println("服務(wù)端收到客戶端消息:" + bufferedReader.readLine() + ";客戶端信息" + socket.getInetAddress().getHostAddress() + ":" + socket.getPort()); //反饋消息 OutputStream os = socket.getOutputStream(); PrintWriter pw = new PrintWriter(new OutputStreamWriter(new BufferedOutputStream(os))); pw.println("收到客戶端傳輸數(shù)據(jù),服務(wù)器信息" + socket.getLocalSocketAddress().toString()); pw.flush(); } } catch (IOException e) { e.printStackTrace(); } }感謝各位的閱讀,以上就是“Java Socket客服端第二次傳送信息時(shí)服務(wù)端收不到消息怎么解決”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Java Socket客服端第二次傳送信息時(shí)服務(wù)端收不到消息怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
網(wǎng)頁題目:JavaSocket客服端第二次傳送信息時(shí)服務(wù)端收不到消息怎么解決
地址分享:http://weahome.cn/article/iphesg.html