如何使用js实现socket通信?
试了如下代码.
var socket = new WebSocket('ws://localhost:8080');
这个代码发出后,在本地的8080端口确实收到了类似连接创建请求的数据,但之后就立刻关闭连接了,也没法进行进一步通信.该如何做,才能在浏览器端实现和任意套接字的相互通信呢?
回复
1个回答

test
2024-06-27
你的意思是你的服务端就是个普通的 TCP 或者 UDP 的 Socket?不是 WebSocket?
那肯定连不上啊……握手失败了自然就断开了……
浏览器:你好,我想跟你通信,请问你是 WebSocket 吗?服务端:对不起,我不是。浏览器:好的,那不打扰了。
WebSocket 虽然名字里带 Socket,但跟 Socket 根本就不是同一层的网络协议。前者是应用层的,后者是传输控制层的。
你的服务端 Socket 程序如果就监听个 80 端口啥也不干的话,它连 HTTP 协议都处理不了,怎么能处理 WebSocket 协议呢?
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容