課程
/后端開發
/Java
/Java Socket應用---通信是這樣練成的
有沒有報SocketException connection reset錯誤的同學?
2017-10-04
源自:Java Socket應用---通信是這樣練成的 3-4
正在回答
不要關閉輸入流,去掉客戶端的s.shutdownInput試一試
反正所有的解決辦法都是報錯,好像只能繞過,避免問題出現
小可愛也是報錯了么?我現在才接觸,準備入手?
服務器端: package?zx_Socket; import?java.io.BufferedReader; import?java.io.IOException; import?java.io.InputStream; import?java.io.InputStreamReader; import?java.io.OutputStream; import?java.io.PrintWriter; import?java.net.ServerSocket; import?java.net.Socket; /** ?*? ?*?@author?yingmanji ?*?@修改日期: ?*?@描述:模擬慕課視頻中的服務端 ?* ?*/ public?class?TcpServer3?{ public?static?void?main(String[]?args)?{ try?{ ServerSocket?ss=new?ServerSocket(8888); System.out.println("服務器已開啟,等待連接"); Socket?s=ss.accept(); InputStream?is=s.getInputStream(); InputStreamReader?isr=new?InputStreamReader(is); BufferedReader?br=new?BufferedReader(isr); String?info=null; while((info=br.readLine())!=null)?{ System.out.println("我是服務端,客戶端說:"+info); } s.shutdownInput(); OutputStream?out=s.getOutputStream(); PrintWriter?pw=new?PrintWriter(out); pw.write("歡迎您"); pw.flush(); s.shutdownOutput(); //關閉資源 pw.close(); out.close(); br.close(); isr.close(); is.close(); s.close(); ss.close(); }?catch?(IOException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); } } } 客戶端: package?zx_Socket; import?java.io.BufferedReader; import?java.io.IOException; import?java.io.InputStream; import?java.io.InputStreamReader; import?java.io.OutputStream; import?java.io.PrintWriter; import?java.net.Socket; import?java.net.UnknownHostException; public?class?TcpClient3?{ public?static?void?main(String[]?args)?{ try?{ Socket?s=new?Socket("localhost",8888); OutputStream?out=s.getOutputStream(); PrintWriter?pw=new?PrintWriter(out); pw.println("hello,我是admin"); pw.flush(); s.shutdownOutput(); InputStream?is=s.getInputStream(); InputStreamReader?isr=new?InputStreamReader(is); BufferedReader?br=new?BufferedReader(new?InputStreamReader(is)); String?info=null; while((info=br.readLine())!=null)?{ System.out.println(info); } s.shutdownInput(); br.close(); isr.close(); is.close(); pw.close(); out.close(); s.close(); }?catch?(UnknownHostException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); }?catch?(IOException?e)?{ //?TODO?Auto-generated?catch?block e.printStackTrace(); } } }
慕粉1344475936 提問者
舉報
分享的是 Java 中的網絡編程,使用Socket實現網絡聊天通信
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-03-31
不要關閉輸入流,去掉客戶端的s.shutdownInput試一試
2017-11-09
反正所有的解決辦法都是報錯,好像只能繞過,避免問題出現
2017-10-15
小可愛也是報錯了么?我現在才接觸,準備入手?
2017-10-04