最贊回答 / 歐簡墨
同樣的問題,已解決。原因:socket.receive(packet)會鎖死對象packet(你看一下receive方法就知道),主線程鎖死packet對象后,在start()的子線程中不能調用 ?packet.屬性,packet.方法()。解決辦法:while(true){?????byte[] data=new byte[1024];//創建字節數組,指定接受的數據包的大小 ????DatagramPacket packet=new DatagramPacket(data, data.lengt...
2015-08-24
已采納回答 / needself
你想多了。只要你明白不管前面的還是后面的內容只要是java語言介紹的都是各種各樣的面向對象的類線程類,輸入輸出類因為某些屬性及功能而變現的封裝代碼而已就是一些java提供給你的類別糾結,會用就好
2015-08-23
最新回答 / 葉孤城_007
socket =new Socket("localhost", 8800); ois=new ObjectInputStream(new BufferedInputStream(socket.getInputStream()));socket和ois是不是需要先指定應用類型啊?
2015-08-03
已采納回答 / changing一銘驚人
?DatagramPacket?p?=?new?DatagramPacket(buf,?buf.length);這個要放在while循環里面,因為每一次的receive()都要指定一個特有的DatagramPacket? p來接收每一個客戶端發過來的請求,如果你放在外面的話,就每一次都要等上一次的數據輸出后才能重新接收,這個就沒有為每一個客戶端各分配一個用來響應的reply了,不知道能不能幫到你??!
2015-08-01