2013-08-26 50 views
2

我有简单的UDP服务器/客户端程序,我转发我的端口和服务器通过互联网接收和发送数据包,但远程机器上的客户端不能接收它们,所以即时通讯想知道如何接收在客户端没有转发端口的数据包(如果它甚至可能)?如果不可能,我该如何让客户端通过互联网接收UDP数据包?远程客户端不接收UDP数据包

客户端接收线程看起来是这样的:

public void run(){ 
     DatagramSocket serverSocket = null; 
     while(true){ 
      try { 
       serverSocket = new DatagramSocket(7000+clientNumber+100);  
      } catch (SocketException e1) { 
       // TODO Auto-generated catch block 
       e1.printStackTrace(); 
      } 
      byte[] receiveData = new byte[1024]; 
      DatagramPacket receiveX = new DatagramPacket(receiveData,  receiveData.length); 
      try { 
       serverSocket.receive(receiveX); 
      } catch (IOException e) { 
       System.out.println("Nepagavau paketo"); 
      } 
      String korX = new String(receiveX.getData()); 
      Play.priesoX = Float.parseFloat(korX); 
      serverSocket.close(); 

       } 

回答