Tôi đang cố gắng kết nối với reference websocket echo server "theo cách thủ công", để tìm hiểu cách giao thức hoạt động (Tôi đang sử dụng socat cho điều đó). Tuy nhiên, máy chủ luôn đóng kết nối mà không cung cấp câu trả lời. Bất kỳ ý tưởng tại sao?Làm cách nào để kết nối với websocket theo cách thủ công, với netcat/socat/telnet?
Dưới đây là những gì tôi làm:
socat - TCP:echo.websocket.org:80
Sau đó, tôi dán nội dung sau trong terminal:
GET /?encoding=text HTTP/1.1
Origin: http://www.websocket.org
Connection: Upgrade
Host: echo.websocket.org
Sec-WebSocket-Key: P7Kp2hTLNRPFMGLxPV47eQ==
Upgrade: websocket
Sec-WebSocket-Version: 13
Tôi ngửi các thông số của kết nối với các công cụ phát triển, trong firefox, trên cùng một máy, nơi nó hoạt động hoàn hảo: vì vậy, tôi cho rằng chúng đúng. Tuy nhiên sau đó, máy chủ đóng kết nối ngay lập tức, mà không cung cấp câu trả lời. Tại sao? Làm thế nào tôi có thể thực hiện giao thức "thủ công"?
Tôi muốn thử nghiệm kiểu trong thiết bị đầu cuối của mình và yêu cầu máy chủ trả lời bằng những gì tôi đã nhập (Nó hoạt động trong trình duyệt web).