第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

老師,我想請(qǐng)教一下為什么我用UDP寫(xiě)出來(lái)的多線程會(huì)有BUG。內(nèi)容為server端、serverthread端、client端

package?demostrator;

import?java.io.IOException;
import?java.net.DatagramPacket;
import?java.net.DatagramSocket;

public?class?UDPserver?{
	public?static?void?main(String[]?args)?throws?IOException?{
		DatagramSocket?socket?=?new?DatagramSocket(8888);
		
		byte[]?data?=?new?byte[1024];
		DatagramPacket?packet?=?new?DatagramPacket(data,?data.length);
		
		System.out.println("***Server?will?be?start!***");
		
		while?(true)?{
			socket.receive(packet);
			
			ServerThread?thread?=?new?ServerThread(packet,socket);
			thread.start();
		}

	}
}



package?demostrator;
import?java.io.IOException;
import?java.net.DatagramPacket;
import?java.net.DatagramSocket;
import?java.net.InetAddress;
public?class?ServerThread?extends?Thread?{
DatagramPacket?packet?=?null;
DatagramSocket?socket?=?null;
ServerThread(DatagramPacket?packet,DatagramSocket?socket){
this.packet?=?packet;
this.socket?=?socket;
}
public?void?run(){
String?info?=?new?String(packet.getData());
//output?info?from?client
System.out.println("i?am?server,client?say:?"+info);
InetAddress?clientAddress?=?packet.getAddress();
int?port?=?packet.getPort();
byte[]?data1=?"Welcome?to?server!~".getBytes();
DatagramPacket?packet1?=?new?DatagramPacket(data1,?data1.length,?clientAddress,?port);
try?{
socket.send(packet1);
}?catch?(IOException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}
}
}


package?demostrator;

import?java.io.IOException;
import?java.net.DatagramPacket;
import?java.net.DatagramSocket;
import?java.net.InetAddress;

public?class?UDPclient?{
	public?static?void?main(String[]?args)?throws?IOException?{
		//get?InetAddress?of?server
		InetAddress?add?=?InetAddress.getByName("localhost");
		int?port?=?8888;
		byte[]?info?=?"usearname:wujun;?password:416471".getBytes();
		
		DatagramPacket?packet?=?new?DatagramPacket(info,info.length,add,port);
		DatagramSocket?socket?=?new?DatagramSocket();
		
		socket.send(packet);
		
		//receive?server?infomation
		byte[]?serverMsg?=?new?byte[1024];
		DatagramPacket?packet1?=?new?DatagramPacket(serverMsg,?0,?serverMsg.length);
		socket.receive(packet1);
		
		String?strServer?=?new?String(serverMsg);
		System.out.println("Server?say:"+strServer);
		socket.close();
	}

}


正在回答

2 回答

把thread.start()改為thread.run()試試

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

豌豆娃

run方法就不是多線程了。就只是main線程的一個(gè)普通方法而已。如果下面還有一段程序,那么就必須等到run方法運(yùn)行完,才能運(yùn)行下面的程序。 start方法才是多線程的。和并行和main線程同時(shí)運(yùn)行。如果下面還有一段程序,start線程會(huì)和下面程序并行運(yùn)行的
2015-04-14 回復(fù) 有任何疑惑可以回復(fù)我~

能描述一下具體問(wèn)題么

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

想你的俊 提問(wèn)者

首先運(yùn)行server端,后運(yùn)行UDPclient端,這個(gè)時(shí)候server端并未接受到客戶端的數(shù)據(jù),與此同時(shí)我運(yùn)行另外一個(gè)客戶端,這個(gè)時(shí)候server端會(huì)出現(xiàn)響應(yīng),另外需要說(shuō)明的是在完成以上動(dòng)作之后server應(yīng)該給到客戶端的回應(yīng)也沒(méi)有出現(xiàn)。 能不能幫忙解析一下問(wèn)題出現(xiàn)的原因和提供一下解決的辦法?謝謝了。
2015-03-19 回復(fù) 有任何疑惑可以回復(fù)我~
#2

沒(méi)有馬甲線的安琪拉 回復(fù) 想你的俊 提問(wèn)者

斷點(diǎn)跟蹤一下,看看有沒(méi)有相關(guān)信息提示?
2015-03-24 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

老師,我想請(qǐng)教一下為什么我用UDP寫(xiě)出來(lái)的多線程會(huì)有BUG。內(nèi)容為server端、serverthread端、client端

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)