代碼運(yùn)行出現(xiàn)錯(cuò)誤
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的通信 ?*?服務(wù)器端 ?*/ public?class?Sever?{ ?public?static?void?main(String[]?args)?{ ??//?TODO?Auto-generated?method?stub ??try?{ ???ServerSocket?serversocket=new?ServerSocket(8888); ???System.out.println("***服務(wù)器即將啟動(dòng),等待客戶端的連接***"); ???Socket?socket=serversocket.accept();//監(jiān)聽客戶端請(qǐng)求 ???InputStream?is=socket.getInputStream();//字節(jié)流 ???InputStreamReader?isr=new?InputStreamReader(is);//將字節(jié)流轉(zhuǎn)換為字符流 ???BufferedReader?br=new?BufferedReader(isr);//為輸入流添加緩沖 ???String?info=null; ??????while((info=br.readLine())!=null){//循環(huán)讀取客戶端的信息 ???????System.out.println("我是服務(wù)器,客戶端說:"+info); ??????} ??????socket.shutdownInput();//關(guān)閉輸入流 ?????? ??????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);//將輸出流轉(zhuǎn)換為打印流 ???pw.write("用戶名:可心;密碼是:1234"); ??????pw.flush(); ???socket.shutdownOutput();//關(guān)閉輸出流 ??? ???InputStream?is=socket.getInputStream(); ???InputStreamReader?isr=new?InputStreamReader(is);//將字節(jié)流轉(zhuǎn)換為字符流 ???BufferedReader?br=new?BufferedReader(isr);//為輸入流添加緩沖 ???String?info=null; ??????while((info=br.readLine())!=null){//循環(huán)讀取客戶端的信息 ???????System.out.println("我是客戶端,服務(wù)器說:"+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(); ??} ?? ?} }
?運(yùn)行結(jié)果
?
2016-09-07
? InetAddress?address=InetAddress.getLocalHost();
???Socket?socket=new?Socket(address.getHostAddress(),8888);
8888前面可以直接填寫“l(fā)ocalhost”的
2016-09-08
2016-09-08
改了,也出現(xiàn)同樣的錯(cuò)誤!運(yùn)行結(jié)果是: