📄 gtadirectplayserverudp.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.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.Socket;
/**
* @author sday
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class GTADirectPlayServerUDP extends Thread {
private int directPlayPort = 47624;
private DatagramSocket directPlayUDP;
private static GTADirectPlayServerUDP instance;
public boolean isTriggered = false;
public static GTADirectPlayServerUDP getInstance(){
if (instance == null){
instance = new GTADirectPlayServerUDP();
}
return instance;
}
public static void clearInstance(){
if (instance != null){
if (instance.directPlayUDP != null)
instance.directPlayUDP.close();
instance.stop();
instance = null;
}
}
public GTADirectPlayServerUDP(){
start();
}
/* (non-Javadoc)
* @see java.lang.Runnable#run()
*/
public void run(){
// Listen for connection on port 47624 then send it out
try {
directPlayUDP = new DatagramSocket(directPlayPort);
while (true) {
byte[] directPlayInitByte = new byte[255];
DatagramPacket directPlayInit = new DatagramPacket(directPlayInitByte, directPlayInitByte.length);
directPlayUDP.receive(directPlayInit);
InetAddress connectionIP = directPlayInit.getAddress();
System.out.println("Directplay UDP Server triggered");
Proxy.getInstance().sendDXClientData(Proxy.getByteOffset(directPlayInit.getData(),0,directPlayInit.getLength()),false);
System.out.println("Relaying DirectPlay UDP data to Proxy");
//GTAVirtualHostTCP.getInstance().virtualGameConnectionSocket.close();
//GTAVirtualHostTCP.getInstance().virtualGameConnectionSocket = new Socket("localhost", 2300);
// and my work here is done
//if (!GTADirectPlayServerTCP.getInstance().isTriggered){
isTriggered = true;
if (GTAVirtualHostTCP.getInstance().virtualGameConnectionSocket == null){
//GTAVirtualHostTCP.getInstance().virtualGameConnectionSocket.close();
GTAVirtualHostTCP.getInstance().virtualGameConnectionSocket =
new Socket(connectionIP, 2300);
}
//}
}
} catch (IOException ioe){
return;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -