1
私は以下のサンプルコードを持っており、ソケットはIP 10.10.88.11とポート9876にバインドされています。以下のようにwiresharkで2つの条件をテストしました。両方のPCが同じサブネットにあります。 10.10でUDPサーバ受信することができませんでしたがWiresharkの( - UDPサーバができ JAVA UDPサーバーはパケットを受信できません
- は同じPC(10.10.88.11)からのUDPパケットを送信します。 88.11)パケットをキャプチャすることができます
私はインターネットを検索しましたが、解決策が見つかりません。 InetScoketAddressを作成する際に間違っていたことはありますか?
import java.io.*;
import java.net.*;
public class UDPServer {
public static void main(String args[]) throws Exception {
InetSocketAddress address = new InetSocketAddress("10.10.88.11", 9876);
DatagramSocket serverSocket = new DatagramSocket(address);
byte[] receiveData = new byte[1024];
byte[] sendData = new byte[1024];
while(true)
{
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
System.out.println("Waiting to receive");
serverSocket.receive(receivePacket);
String sentence = new String(receivePacket.getData());
System.out.println("RECEIVED: " + sentence);
InetAddress IPAddress = receivePacket.getAddress();
int port = receivePacket.getPort();
String capitalizedSentence = sentence.toUpperCase();
sendData = capitalizedSentence.getBytes();
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length, IPAddress, port);
serverSocket.send(sendPacket);
}
}
}
ありがとうございました...以前はファイアウォールが無効になっていたので、これは考えていませんでした。誰かがそれを元に戻しました。ありがとう... –
私はこれがうまくいけば分かりますか、私は興味があります:) –
うまくいく... wiresharkがファイアウォールで評価される前にパケットをつかむことはできません。それがここから学んだものです。ありがとうございました。 :) –