📄 directplaygamecheck.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 + -