Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Wireshark中显示了同一客户端和服务器之间的多个tcp连接_Java_Sockets_Networking_Tcp_Wireshark - Fatal编程技术网

Java 为什么Wireshark中显示了同一客户端和服务器之间的多个tcp连接

Java 为什么Wireshark中显示了同一客户端和服务器之间的多个tcp连接,java,sockets,networking,tcp,wireshark,Java,Sockets,Networking,Tcp,Wireshark,我有一个客户端和服务器程序,一个红绿灯系统。客户端(ip…182)通过三向握手连接到服务器(ip…121)。服务器发送信号,红色、黄色和绿色。每个信号的间隔都可以改变 在alpha版本中,客户端在一个(选定的)端口上连接到服务器,并以静态间隔接收信号。然后我在Wireshark中捕获了数据包,以查看它是否有效 在beta版本中,客户端在所选端口连接到服务器,并开始接收信号。在这里可以改变间隔。由于某些原因,它不会在第一次尝试时连接到服务器,而是在第二次尝试时连接到服务器。它似乎工作正常,但在wi

我有一个客户端和服务器程序,一个红绿灯系统。客户端(ip…182)通过三向握手连接到服务器(ip…121)。服务器发送信号,红色、黄色和绿色。每个信号的间隔都可以改变

在alpha版本中,客户端在一个(选定的)端口上连接到服务器,并以静态间隔接收信号。然后我在Wireshark中捕获了数据包,以查看它是否有效

在beta版本中,客户端在所选端口连接到服务器,并开始接收信号。在这里可以改变间隔。由于某些原因,它不会在第一次尝试时连接到服务器,而是在第二次尝试时连接到服务器。它似乎工作正常,但在wireshark我不太明白

在测试版中,java程序使用javaFX而不是Swing

如果我理解正确的话,在客户端接收信号之前,有一个三方握手。java代码中确定的端口是1337(非常原始),当收到时,它会向服务器返回一个“got it”([ACK])

但我不明白的是,为什么突然启动了来自客户机和服务器的其他几个端口。连接将一直启动,直到程序停止

在下面的屏幕截图中,您可以看到几个端口已打开并连接到服务器的端口5357。看起来端口(tcp套接字连接)在彼此之间一直处于打开状态,数据包在彼此之间发送

为什么会这样?代码中有什么错误吗? HTTP数据包是因为它是JavaFX并且需要来自web的信息吗

第一个截图是alpha版本的Wireshark捕获。 第二个和第三个是测试版。程序启动时的第一个连接,信号发送和间隔更改后的第三个连接


看一看。为了记录在案,如果没有提供,很难判断“代码”是否有问题:)完全可以理解:P我会查出来的!