我创build了一个Node.JS应用程序,它提供了一个web套接字服务器(使用npm ws )。 这个websocket一直等到连接build立。 一旦连接命中服务器,websocket执行一个工作。 作业完成后,将通过套接字发送一条消息,然后套接字被closures。 这个sockets按预期工作。 已经用另一个Node.JS脚本testing过了。
我怎样才能使用Linux 命令行工具连接到networking套接字 ? 我已经试过这里描述的curl。 但是,我无法find如何正确连接到我的websocket运行在本地主机:8088 /套接字/
编辑:我的问题已被确定为另一个问题的可能重复。 但是,链接的问题只是询问是否有办法用curl来做到这一点。 我很高兴看到在bash上工作的任何解决scheme。 此外,链接问题的答案是使用autobahn.ws的JavaScript文件
从这里试试这个: 如何击中WebSocket端点?
$ curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Host: echo.websocket.org" -H "Origin: http://www.websocket.org" http://echo.websocket.org
他从哪里来: http : //www.thenerdary.net/post/24889968081/debugging-websockets-with-curl
引用来自这个网站的内容为未来:
那些旗帜说:
- 在输出中返回标题
- 不要缓冲响应
- 设置一个头,这个连接需要从HTTP升级到其他东西
- 设置此连接需要升级到WebSocket连接的标头
- 设置一个头来定义主机(以后的WebSocket标准要求)
- 设置一个头来定义请求的起源(以后的WebSocket标准所要求的)
如果websocket正在工作,它应该返回以下内容:
$ curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Host: echo.websocket.org" -H "Origin:http://www.websocket.org" http://echo.websocket.org HTTP/1.1 101 Web Socket Protocol Handshake Upgrade: WebSocket Connection: Upgrade WebSocket-Origin: http://www.websocket.org WebSocket-Location: ws://echo.websocket.org/ server: Kaazing Gateway Date: Mon, 11 Jun 2012 16:34:46 GMT Access-Control-Allow-Origin: http://www.websocket.org Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: content-type Access-Control-Allow-Headers: authorization Access-Control-Allow-Headers: x-websocket-extensions Access-Control-Allow-Headers: x-websocket-version Access-Control-Allow-Headers: x-websocket-protocol