다음과 같은 샘플 코드가 있으며 소켓은 IP 10.10.88.11 및 포트 9876에 바인딩되어 있습니다. 아래와 같이 wireshark를 사용하여 2 가지 조건으로 테스트했습니다. 두 PC가 동일한 서브넷에 있습니다.
인터넷을 검색했지만 이에 대한 해결책을 찾을 수 없습니다. 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가 방화벽에 의해 평가되기 전에 패킷을 잡을 수 있다고 믿습니다. 즉,이를 감지 할 수는 있지만 Java 앱에는 도달하지 않습니다. 방화벽 비활성화를 시도 했습니까?
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다