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

📄 client.java

📁 JAVA的nat 穿透的实现
💻 JAVA
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -