サンプル コードでは、ポート 4444 で UDP を使用しているものはありません。TCPViewは、UDPポートを使用している別のプロセス (異なる PID) であることも示しています。
また、サンプル コードを実行すると、TCPレコードのみが表示されます。
私の推測では、DatagramSocket で別のサンプルを実行している可能性があります。別のポートを使用するように変更することにより、サンプル コードがUDPポートを使用するものではないことを確認できます。たとえば、 KnockKnockServerでポートを 5555 に変更してみてください:
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(5555);
} catch (IOException e) {
System.err.println("Could not listen on port: 5555.");
System.exit(1);
}
およびKnockKnockClientで:
try {
kkSocket = new Socket("localhost", 5555);
out = new PrintWriter(kkSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(kkSocket.getInputStream()));
このポートにUDPレコードがあるかどうかを確認します。