Java Socket網路編程

來源:互聯網
上載者:User

標籤:trace   .net   close   add   nbsp   main   row   import   end   

伺服器端:

 1 import java.net.*; 2 import java.io.*; 3 public class SocketServer extends Thread { 4     private ServerSocket serverSocket; 5     public SocketServer(int port) throws IOException 6     { 7         serverSocket=new ServerSocket(port); 8         //等待客戶串連的時間不超過6秒 9         serverSocket.setSoTimeout(100000);10     }11     public void run()12     {13         while(true)14         {15             try16             {17                 System.out.println("等待遠端連線,連接埠號碼為:"+serverSocket.getLocalPort());18                 Socket server =serverSocket.accept();19                 System.out.println("遠程主機地址"+server.getRemoteSocketAddress());20                 //從用戶端讀資料21                 DataInputStream in=new DataInputStream(server.getInputStream());22                 System.out.println(in.readUTF());23                 //往用戶端發送資料24                 DataOutputStream out=new DataOutputStream(server.getOutputStream());25                 out.writeUTF("謝謝串連我:"+server.getLocalSocketAddress()+"\nGoodbye!");26                 server.close();27             }28             catch(SocketException s)29             {30                 System.out.println("Socket timed out");31                 break;32             }33             catch(IOException e)34             {35                 e.printStackTrace();36                 break;37             }38         }39     }40     public static void main(String[] args)41     {42         int port=6066;43         try44         {45             Thread t=new SocketServer(port);46             t.run();47         }48         catch(IOException e)49         {50             e.printStackTrace();51         }52     }53 }

用戶端:

 1 import java.net.*; 2 import java.io.*; 3 public class SocketClient { 4     public static void main(String[] args) 5     { 6         //伺服器位址 7         String serverName="localhost"; 8         //伺服器連接埠號碼 9         int port=6066;10         try11         {12             System.out.println("串連到主機:"+serverName+",連接埠號碼:"+port);13             Socket client=new Socket(serverName,port);14             System.out.println("遠程主機地址:"+client.getRemoteSocketAddress());15             //向伺服器傳送訊息16             OutputStream outToServer=client.getOutputStream();17             DataOutputStream out=new DataOutputStream(outToServer);18             out.writeUTF("Hello from"+client.getLocalSocketAddress());19             20             //擷取伺服器返回的資訊21             InputStream inFromServer=client.getInputStream(); 22             DataInputStream in=new DataInputStream(inFromServer);23             System.out.println("伺服器響應:"+in.readUTF());24             client.close();25         }26         catch(IOException e)27         {28             e.printStackTrace();29         }30     }31 32 }

 

Java Socket網路編程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.