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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

老師跪求多線程UDP代碼QuQ,表示寫的代碼總是有錯

package?pers.Sockets;

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

//?UDP服務(wù)器線程處理累
?
public?class?UDPServerThread?extends?Thread?{
		DatagramPacket?packet=null;
		DatagramSocket?socket=null;
		byte[]?data=null;
		public?UDPServerThread(DatagramPacket?packet,DatagramSocket?socket,byte[]?data){
			this.packet=packet;
			this.socket=socket;
			this.data=data;
		}
		//線程執(zhí)行操作,響應(yīng)客戶端的請求
		public?void?run(){
			try?{
				DatagramPacket??packet2=new?DatagramPacket("歡迎您!".getBytes(),?"歡迎您!".getBytes().length,?packet.getAddress(),packet.getPort());;
				//4.讀取數(shù)據(jù)
				String?info=new?String(data,0,packet.getLength());
				System.out.println("我是服務(wù)器,客戶端說:"+info);
///****??????????向客戶端做出響應(yīng)沒有實(shí)現(xiàn),仍存在問題?????????****/
				/*
				?*?向客戶端做出響應(yīng)
				?*/
				//2.創(chuàng)建數(shù)據(jù)報、包含響應(yīng)的數(shù)據(jù)信息
				/*????packet2????*/
				//3.響應(yīng)客戶端
				System.out.println("已響應(yīng)客戶端!"+UDPServerT.count);	
				socket.send(packet2);

//			//4.關(guān)閉資源
//			socket.close();
			}?catch?(IOException?e)?{
				//?TODO?自動生成的?catch?塊
				e.printStackTrace();
			}
		}
}


正在回答

3 回答

package?com.imooc.socket.UDP;
//這個是Server?服務(wù)器main的地方
import?java.io.IOException;
import?java.net.DatagramPacket;
import?java.net.DatagramSocket;
import?java.net.InetAddress;


/**
?*?Created?with?IntelliJ?IDEA.
?*?User:?QiuShiLe
?*?Date:?2015/4/8
?*?Time:?17:11
?*?Project:?coreJava
?*?Detail:實(shí)現(xiàn)基于UDP的用戶登錄
?*/
public?class?Server?{
????public?static?void?main(String[]?args)?throws?IOException?{
????????DatagramSocket?socket?=?new?DatagramSocket(8888);
????????byte[]?data?=?new?byte[1024];
????????DatagramPacket?packet;
????????packet?=?new?DatagramPacket(data,?data.length);
????????System.out.println("服務(wù)器已啟動");
????????while?(true){
????????????socket.receive(packet);//在接收到數(shù)據(jù)包之前一直阻塞
????????????ServerThread?thread?=?new?ServerThread(socket,?packet);
????????????thread.run();
????????}
????}
}
package?com.imooc.socket.UDP;
//這是服務(wù)器處理請求的子線程
import?java.io.IOException;
import?java.net.DatagramPacket;
import?java.net.DatagramSocket;
import?java.net.InetAddress;

/**
?*?Created?with?IntelliJ?IDEA.
?*?User:?QiuShiLe
?*?Date:?2015/4/8
?*?Time:?17:35
?*?Project:?coreJava
?*?Detail:Server的線程實(shí)現(xiàn)
?*/
public?class?ServerThread?implements?Runnable?{

????private?DatagramSocket?socket;
????private?DatagramPacket?packet;

????public?ServerThread(DatagramSocket?socket,?DatagramPacket?packet)?{
????????this.socket?=?socket;
????????this.packet?=?packet;
????}

????@Override
????public?void?run()?{

????????byte[]?data?=?packet.getData();

????????String?info?=?new?String?(data,?0,?packet.getLength());
????????System.out.println("我是服務(wù)器,客戶端說:"?+?info);

????????InetAddress?address?=?packet.getAddress();
????????int?port?=?packet.getPort();
????????byte[]?data2?=?"歡迎您!".getBytes();
????????DatagramPacket?reply?=?new?DatagramPacket(data2,?data2.length,?address,?port);
????????try?{
????????????socket.send(reply);
????????}?catch?(IOException?e)?{
????????????e.printStackTrace();
????????}
????}
}


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

package demostrator;


import java.io.IOException;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetSocketAddress;


public class UDPserver {

public static void main(String[] args) throws IOException {

InetSocketAddress sd = new InetSocketAddress("localhost", 8888);

DatagramSocket socket = new DatagramSocket(sd);

System.out.println("***Server will be start!***");

while (true) {

byte[] data = new byte[1024];

DatagramPacket packet = new DatagramPacket(data, data.length);

socket.receive(packet);

ServerThread thread = new ServerThread(packet,socket);

new Thread(thread).start();

}

}


}


package demostrator;


import java.io.IOException;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetAddress;



class ServerThread implements Runnable{

private DatagramPacket packet = null;

private DatagramSocket socket = null;

ServerThread(DatagramPacket packet,DatagramSocket socket){

this.packet = packet;

this.socket = socket;

}


@Override

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();

}

}

}


/*public class ServerThread extends Thread {

private DatagramPacket packet = null;

private 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();

}

socket.close();

}

}*/


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

為什么第一次客戶端運(yùn)行得不到服務(wù)器回復(fù),只有之后的能得到回復(fù),但是得到的回復(fù)貌似也有問題。。

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

想你的俊

試試我的,我也想了好久,參考了其它人的代碼才知道問題出在哪里的。
2015-03-27 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
Java Socket應(yīng)用---通信是這樣練成的
  • 參與學(xué)習(xí)       125005    人
  • 解答問題       627    個

分享的是 Java 中的網(wǎng)絡(luò)編程,使用Socket實(shí)現(xiàn)網(wǎng)絡(luò)聊天通信

進(jìn)入課程

老師跪求多線程UDP代碼QuQ,表示寫的代碼總是有錯

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

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

幫助反饋 APP下載

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

公眾號

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