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