socket接收發送信息

[java] view plain copy
  1. 備註:必須先運行服務器端,然後運行客戶端  
  2. 1.客戶端  
  3. LoginClient.<a href="http://lib.csdn.net/base/17" class="replace_word" title="Java EE知識庫" target="_blank" style="color: rgb(223, 52, 52); font-weight: bold;">java</a>  
  4. package pb.socket.LoginStr;  
  5.   
  6. import java.io.BufferedReader;  
  7. import java.io.IOException;  
  8. import java.io.InputStream;  
  9. import java.io.InputStreamReader;  
  10. import java.io.OutputStream;  
  11. import java.io.PrintWriter;  
  12. import java.net.Socket;  
  13. import java.net.UnknownHostException;  
  14.   
  15. public class LoginClient {  
  16.     public static void main(String[] args) {  
  17.         try {  
  18.             //1.建立客戶端socket連接,指定服務器位置及端口  
  19.             Socket socket =new Socket("localhost",8800);  
  20.             //2.得到socket讀寫流  
  21.             OutputStream os=socket.getOutputStream();  
  22.             PrintWriter pw=new PrintWriter(os);  
  23.             //輸入流  
  24.             InputStream is=socket.getInputStream();  
  25.             BufferedReader br=new BufferedReader(new InputStreamReader(is));  
  26.             //3.利用流按照一定的操作,對socket進行讀寫操作  
  27.             String info="用戶名:Tom,用戶密碼:123456";  
  28.             pw.write(info);  
  29.             pw.flush();  
  30.             socket.shutdownOutput();  
  31.             //接收服務器的相應  
  32.             String reply=null;  
  33.             while(!((reply=br.readLine())==null)){  
  34.                 System.out.println("接收服務器的信息:"+reply);  
  35.             }  
  36.             //4.關閉資源  
  37.             br.close();  
  38.             is.close();  
  39.             pw.close();  
  40.             os.close();  
  41.             socket.close();  
  42.         } catch (UnknownHostException e) {  
  43.             e.printStackTrace();  
  44.         } catch (IOException e) {  
  45.             e.printStackTrace();  
  46.         }  
  47.     }  
  48. }  
  49. 2.服務器端  
  50. LoginServer.java  
  51. package pb.socket.LoginStr;  
  52.   
  53. import java.io.BufferedReader;  
  54. import java.io.IOException;  
  55. import java.io.InputStream;  
  56. import java.io.InputStreamReader;  
  57. import java.io.OutputStream;  
  58. import java.io.PrintWriter;  
  59. import java.net.ServerSocket;  
  60. import java.net.Socket;  
  61.   
  62. public class LoginServer {  
  63.     public static void main(String[] args) {  
  64.         try {  
  65.             //1.建立一個服務器Socket(ServerSocket)綁定指定端口  
  66.             ServerSocket serverSocket=new ServerSocket(8800);  
  67.             //2.使用accept()方法阻止等待監聽,獲得新連接  
  68.             Socket socket=serverSocket.accept();  
  69.             //3.獲得輸入流  
  70.             InputStream is=socket.getInputStream();  
  71.             BufferedReader br=new BufferedReader(new InputStreamReader(is));  
  72.             //獲得輸出流  
  73.             OutputStream os=socket.getOutputStream();  
  74.             PrintWriter pw=new PrintWriter(os);  
  75.             //4.讀取用戶輸入信息  
  76.             String info=null;  
  77.             while(!((info=br.readLine())==null)){  
  78.                 System.out.println("我是服務器,用戶信息爲:"+info);  
  79.             }  
  80.             //給客戶一個響應  
  81.             String reply="welcome";  
  82.             pw.write(reply);  
  83.             pw.flush();  
  84.             //5.關閉資源  
  85.             pw.close();  
  86.             os.close();  
  87.             br.close();  
  88.             is.close();  
  89.             socket.close();  
  90.             serverSocket.close();  
  91.         } catch (IOException e) {  
  92.             e.printStackTrace();  
  93.         }      
  94.     }  
  95. }  
  96. 轉載http://blog.csdn.net/qq7342272/article/details/9698413
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章