client.java
来自「JAVA的nat 穿透的实现」· Java 代码 · 共 69 行
JAVA
69 行
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class client {
/**
* @param args
*/
static int no=2;
public static void main(String[] args) {
// TODO Auto-generated method stub
byte []inbuf=new byte[256];
int num=no;
try {
DatagramSocket server = new DatagramSocket(8888+no);
DatagramPacket packet = new DatagramPacket(inbuf, inbuf.length);
byte[] data=("login"+no).getBytes();
System.out.print("send "+new String(data));
no++;
DatagramPacket request = new DatagramPacket(data, data.length,InetAddress.getByName("117.25.130.176"), 8888);
server.send(request);
server.receive(packet);
data=new byte[256];
data=("hello").getBytes();
String d=new String(packet.getData());
String ip=d.substring(0,d.indexOf(":"));
ip=ip.replace("/","");
int port=Integer.parseInt(d.substring(d.indexOf(":")+1,d.indexOf(":")+6));
if(num==1)
{
// ip="192.168.0.100";
// port=9000;
System.out.print("send hello ot client2,client2 ip:"+ip+":"+port);
request = new DatagramPacket(data, data.length,InetAddress.getByName(ip), port);
server.send(request);
server.receive(packet);
System.out.print(new String(packet.getData()));
}
else
{
// ip="192.168.0.100";
// port=8889;
System.out.print("send hello ot client1,client1 ip:"+ip+":"+port);
data=("hello").getBytes();
request = new DatagramPacket(data, data.length,InetAddress.getByName(ip), port);
server.send(request);
System.out.print("\nreceiving...");
server.receive(packet);
System.out.print(new String(packet.getData()));
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?