⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 detector.java

📁 做了一大堆J2EE WEB应用之后
💻 JAVA
字号:
package net.udp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.util.Iterator;
import java.util.List;

import net.datagram.PlayerInfo;

public class Detector extends PlayProcessor{


	public Detector(PlayerContext context) {
		super(context);
	 
	}
 

	@Override
	protected void process() {
		
		List<PlayerInfo> serverList = context.getPlayerInfos();
		DatagramSocket detectorSocket = context.getDetectorSocket();
		
		while (loop) {
			
			synchronized (serverList) {
				
				Iterator<PlayerInfo> i = serverList.iterator();

				while (i.hasNext()) {
					
					PlayerInfo playerInfo = i.next();
					String serverName = playerInfo.getServerName();
					DatagramPacket packer = new DatagramPacket(serverName.getBytes(), serverName.getBytes().length);
					packer.setSocketAddress(playerInfo.getSocketAddress());

					try {
						detectorSocket.send(packer);
						//System.out.println("send:"+serverName+","+playerInfo.getSocketAddress());
					} catch (IOException e) {
						e.printStackTrace();
					}

					try {
						detectorSocket.receive(packer);

					} catch (IOException e) {
						System.out.println(e.getMessage());
						i.remove();
						context.remove(playerInfo);

					}
				}
			}

			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
		
	}
	
	public void close(){
		loop=false;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -