📄 gtadirectplayservertcp.java
字号:
/*
* Created on Feb 15, 2006
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package org.GTADS.proxy;
import java.io.DataInputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class GTADirectPlayServerTCP extends Thread{
private int directPlayPort = 47624;
private ServerSocket directPlayServ;
private Socket directPlayConnect;
private static GTADirectPlayServerTCP instance;
public boolean isTriggered = false;
public static GTADirectPlayServerTCP getInstance(){
if (instance == null){
instance = new GTADirectPlayServerTCP();
}
return instance;
}
public static void clearInstance(){
if (instance != null){
try {
instance.stop();
if (instance.directPlayConnect != null)
instance.directPlayConnect.close();
if (instance.directPlayServ != null)
instance.directPlayServ.close();
} catch (IOException ioe){
return;
}
instance = null;
}
}
public GTADirectPlayServerTCP(){
start();
}
/* (non-Javadoc)
* @see java.lang.Runnable#run()
*/
public void run(){
// Listen for connection on port 47624 then send it out
try {
directPlayServ = new ServerSocket(directPlayPort);
while(true) {
byte[] directPlayInitByte = new byte[255];
directPlayConnect = directPlayServ.accept();
InetAddress connectionIP = directPlayConnect.getInetAddress();
DataInputStream din = new DataInputStream(directPlayConnect.getInputStream());
int p = din.read(directPlayInitByte);
directPlayConnect.close();
System.out.println("DirectPlay TCP Server triggered");
Proxy.getInstance().sendDXClientData(Proxy.getByteOffset(directPlayInitByte,0,p),true);
System.out.println("Relaying DirectPlay Data to Host");
//GTAVirtualHostTCP.getInstance().virtualGameConnectionSocket.close();
System.out.println("Opening Game connection on port 2300");
// and my work here is done
//if (!GTADirectPlayServerUDP.getInstance().isTriggered){
isTriggered = true;
if (GTAVirtualHostTCP.getInstance().virtualGameConnectionSocket == null){
//GTAVirtualHostTCP.getInstance().virtualGameConnectionSocket.close();
GTAVirtualHostTCP.getInstance().virtualGameConnectionSocket =
new Socket(connectionIP, 2300);
}
//}
}
} catch (IOException ioe){
//ioe.printStackTrace();
return;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -