为什么Wireshark

时间:2016-03-28 16:46:07

标签: java sockets networking tcp wireshark

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

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

在测试版上,客户端连接到所选端口上的服务器并开始接收信号。这里可以改变间隔。出于某种原因,它不会在第一次尝试时连接到服务器,而是在第二次。它似乎工作正常,但在wireshark我不太了解......

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

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

但我无法理解的是为什么突然启动客户端和服务器的其他几个端口。连接一直开始,直到程序停止。

在下面的屏幕截图中,您可以看到多个端口已打开并连接到服务器端口5357.似乎端口(tcp套接字连接)一直打开,彼此之间,并且数据包之间相互发送。

为什么会这样?代码有什么问题吗? 是HTTP数据包,因为它是JavaFX,它需要来自网络的信息吗?

第一个截图是Wireshark捕获的alpha版本。 第二和第三是来自测试版。程序启动时的第一个连接,第三个信号已经发送并且间隔改变了。

alpha-version. TCP socket connection

beta-version. TCP socket connection

beta-version. Several connections

0 个答案:

没有答案