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

📄 directplaygamecheck.java

📁 是一款国外的网络游戏平台的源码*不是类似浩方那种虚拟局域网技术
💻 JAVA
字号:
/*
 * Created on Sep 6, 2006
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package org.GTADS.proxy;

import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;

import org.GTADS.client.ClientLoginScreen;
import org.GTADS.client.DSChatClient;
import org.GTADS.client.GameroomWindowDialog;
import org.GTADS.messenger.MessageAdapter;
import org.GTADS.protocol.MetaData;

/**
 * @author sday
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
public class DirectPlayGameCheck extends Thread {
	private int probePort;
	private boolean gameState = false;
	private Socket probeSocket = new Socket(); 
	
	public DirectPlayGameCheck(int port){
		probePort = port;
		start();
	}
	
	public void run(){
		while(true){
			try {
				Thread.sleep(10000);
				probeSocket.setSoTimeout(2);
				probeSocket =  new Socket(InetAddress.getByName("localhost"), probePort);
				if (gameState == false){
					// Send to server game connected
					gameState = true;
					sendGameStateToGameroom(gameState);
				}
			} catch (IOException ioe){
				if (gameState == true){
					// Send to server game disconnected
					gameState = false;
					sendGameStateToGameroom(gameState);
				}
			} catch (InterruptedException ie){
				return;
			}
		}
	}
	
	private void sendGameStateToGameroom(boolean gameOn){
		try {
			MetaData gameStateHeader = new MetaData(ClientLoginScreen.getInstance().getUsername(), MetaData.GAME,
					gameOn ? MetaData.GAME_STARTED : MetaData.GAME_STOPPED);
			MessageAdapter.sendData(null,DSChatClient.ClientSocket,gameStateHeader,GameroomWindowDialog.getInstance().getGameroomName());
		} catch (IOException ioe){
			return;
		}
	}
}

⌨️ 快捷键说明

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