我找到了TooTallNate's Java-Websocket库。我正在尝试实现客户端和服务器作为概念证明,以查看Web套接字是否会为我们解决问题。
我的客户端是我的Ubuntu 12.04 Linux工作站。我写了一个websocket服务器应用程序,它监听4242上的绑定。然后我运行我的客户端并尝试连接。我使用wireshark捕获了通信:
214 9.064163 192.168.1.81 192.168.20.50 TCP 74 43413 > 4242 [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSval=185839 TSecr=0 WS=128
215 9.064191 192.168.20.50 192.168.1.81 TCP 54 4242 > 43413 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
我的问题是,为什么数据包会被如此迅速地拒绝?我不相信我正在运行防火墙,但如果它是防火墙,未注册的端口通常会被忽略而不是在几皮秒内关闭。有谁知道这意味着什么?
答案 0 :(得分:1)
首先应该使用netstat:
检查服务器是否实际正在侦听netstat -ln
或者,使用长格式参数
netstat --listening --numeric
如果在正确的端口上没有看到任何列表,则在服务器端的设置过程中出现了问题。