已采納回答 / 宋杰
如何實現多客戶端之間的通信?經過服務器。答:服務器端同時持有兩個socket,這兩個socket分別表示和兩個客戶端的連接。從一個socket的輸入流讀取數據,寫到另一個socket的輸出流中,這樣就能實現多客戶端之間的通信吧。如何實現并行通信?答:從socket中可以獲取輸入流和輸出流對象,如果使用兩個線程,分別持有輸入流和輸出流,那么便可以實現你所謂的“并行通信”。
2016-05-31
已采納回答 / qq_晝綻_0
InetAddress對象的獲取InetAddress的構造函數不是公開的(public),所以需要通過它提供的靜態方法來獲取,有以下的方法:static InetAddress[] getAllByName(String host)static InetAddress getByAddress(byte[] addr)static InetAddress getByAddress(String host,byte[] addr)static InetAddress getByName(String ho...
2016-04-27
已采納回答 / 燦爛滿天星
DatagramPacket packet1=new DatagramPacket(bytes1, 0, bytes1.length,address,port);這里只有4個參數吧?第二個參數0是什么作用?
2016-04-26
已采納回答 / qq_云在風中_0
這么跟你說吧,你代碼肯定跟老師不一樣,我想應該是你的關閉socket輸入輸出流的順序有問題。截圖跟你看:服務器端,這三步要依次來,這是有原因的<...圖片...>客戶端:對應的順序也不能顛倒,你做到了這些,包你沒問題,妥妥的<...圖片...>
2016-04-25
已采納回答 / Sylar丶
這里是用String類的構造函數將字節類型類型轉換成字符串類型,toString是輸出方法不具有類型轉換功能,除非你在方法里轉換成字符串再return字符串,明顯前者方便一行代碼解決問題.
2016-04-12
最贊回答 / lxlacie
<...code...>public class UdpSocketMilServerDemo { public static void main(String[] args) { DatagramSocket socket = null; try { /* * 接受客戶端發送到服務器的數據信息 */ int count = 0; //創建DatagramSocket,指定端口 ...
2016-04-11
已采納回答 / SoyaDokio
如果代碼整體還是這樣只做測試之用,那我的建議有兩個:在writer.write("用戶名:admin;密碼:123456");中輸出的字串結尾手動加上換行符,變成writer.write("用戶名:admin;密碼:123456\n");或writer.write("用戶名:admin;密碼:123456\r");將writer.write("用戶名:admin;密碼:123456");這個方法改為java.io.PrintWriter.println()這個方法,即改為writer.println("用...
2016-04-04