我使用以下方法创建一个websocket服务器:
WebSocketServer server = new WebSocketServer("ws://127.0.0.1:55913");
请注意,我100%确定该端口未被任何其他操作使用。我想通过ngrok连接到此websocket,例如:
http://abc123.ngrok.io -> localhost:55913
在https://www.websocket.org/echo.html
上运行回显测试时,我收到101 switching protocol
响应状态,并且套接字似乎已打开。但是,将数据发送到套接字时没有响应。它看起来好像打开然后立即关闭。尝试按照以下图片进行连接时,Chrome开发者工具似乎出现了问题:
我为端口55913
添加了入站防火墙端口例外,什么原因可能引起此问题?当在虚拟机上创建websocket而不是在本地创建我的代码时,效果很好。
更新:ASP.NET Web服务器输出显示以下内容:
11/12/2018 9:44:23 PM [Info] Server started at ws://0.0.0.0:55913 (actual port 55913)
Now listening on: http://localhost:23323
然后当我尝试连接时,它输出:
11/12/2018 9:44:37 PM [Debug] Client connected from 127.0.0.1:54804
11/12/2018 9:44:37 PM [Debug] 579 bytes read
11/12/2018 9:44:37 PM [Debug] Building Hybi-14 Response
11/12/2018 9:44:37 PM [Debug] Sent 129 bytes
11/12/2018 9:44:37 PM [Debug] 0 bytes read. Closing.