据我了解,socket.io 基于 HTTP,这是一种标准协议。我有用于 HTTP 服务器的 c 代码,当我在浏览器中输入“localhost:8080”时,服务器正在工作。但是当我打电话
var socket = new io.Socket('http://localhost', {port: 8080 });
socket.connect();
c代码没有通过
accept (sock,&addr,&addrlen);
请指教.10xs,Nir
您还需要服务器上的 socket.io - 服务器上的 socket.io 将侦听您将指定的某个端口 - 客户端需要连接到该端口。
此外,socket.io 默认使用 websockets(除非在最新版本中更改),然后使用您可以配置的其他协议(flash sockets/xhr 等)
使用 Javascript 的服务器端:
var io = require('socket.io').listen(8080); //8080 since you are trying to connect to that port
如果您不想在服务器上使用 javascript,我相信有多个端口可用于其他语言的 socket.io。希望能帮助到你
尝试不使用 http://
var socket = new io.Socket('localhost', {port: 8080 });
socket.connect();
此外,对于 localhost,您可以使用 null 作为主机
var socket = new io.Socket(null, {port: 8080 });
socket.connect();