代碼運行出現錯誤
SEVER: package?com.imooc; 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; /* ?*?基于TCP的Socket的通信 ?*?服務器端 ?*/ public?class?Sever?{ ?public?static?void?main(String[]?args)?{ ??//?TODO?Auto-generated?method?stub ??try?{ ???ServerSocket?serversocket=new?ServerSocket(8888); ???System.out.println("***服務器即將啟動,等待客戶端的連接***"); ???Socket?socket=serversocket.accept();//監聽客戶端請求 ???InputStream?is=socket.getInputStream();//字節流 ???InputStreamReader?isr=new?InputStreamReader(is);//將字節流轉換為字符流 ???BufferedReader?br=new?BufferedReader(isr);//為輸入流添加緩沖 ???String?info=null; ??????while((info=br.readLine())!=null){//循環讀取客戶端的信息 ???????System.out.println("我是服務器,客戶端說:"+info); ??????} ??????socket.shutdownInput();//關閉輸入流 ?????? ??????OutputStream?os=socket.getOutputStream(); ??????PrintWriter?pw=new?PrintWriter(os); ??????pw.write("歡迎您!"); ??????pw.flush();?? ??????socket.shutdownOutput(); ??????? ?????? ??????is.close(); ??????isr.close(); ??????br.close(); ??????os.close(); ??????pw.close();???? ??????serversocket.close(); ??????socket.close(); ?????? ??? ??}?catch?(IOException?e)?{ ???//?TODO?Auto-generated?catch?block ???e.printStackTrace(); ??} ?} }
client:
package?com.imooc; 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.InetAddress; import?java.net.Socket; import?java.net.UnknownHostException; /* ?*?基于TCP的Socket的通信 ?*?客戶端 ?*/ public?class?Client?{ ?public?static?void?main(String[]?args)?{ ??//?TODO?Auto-generated?method?stub ??try?{ ???InetAddress?address=InetAddress.getLocalHost(); ???Socket?socket=new?Socket(address.getHostAddress(),8888); ???OutputStream?os=socket.getOutputStream();//輸出流 ???PrintWriter?pw=new?PrintWriter(os);//將輸出流轉換為打印流 ???pw.write("用戶名:可心;密碼是:1234"); ??????pw.flush(); ???socket.shutdownOutput();//關閉輸出流 ??? ???InputStream?is=socket.getInputStream(); ???InputStreamReader?isr=new?InputStreamReader(is);//將字節流轉換為字符流 ???BufferedReader?br=new?BufferedReader(isr);//為輸入流添加緩沖 ???String?info=null; ??????while((info=br.readLine())!=null){//循環讀取客戶端的信息 ???????System.out.println("我是客戶端,服務器說:"+info); ??????} ???socket.shutdownInput(); ??? ??? ???os.close(); ???pw.close(); ???is.close(); ???isr.close(); ???br.close();??? ???socket.close(); ??? ??}?catch?(UnknownHostException?e)?{ ???//?TODO?Auto-generated?catch?block ???e.printStackTrace(); ??}?catch?(IOException?e)?{ ???//?TODO?Auto-generated?catch?block ???e.printStackTrace(); ??} ?? ?} }
?運行結果
?
2016-09-07
? InetAddress?address=InetAddress.getLocalHost();
???Socket?socket=new?Socket(address.getHostAddress(),8888);
8888前面可以直接填寫“localhost”的
2016-09-08
2016-09-08
改了,也出現同樣的錯誤!運行結果是: