为什么socket.io不会连接?

时间:2013-05-15 15:09:42

标签: http socket.io

据我所知,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

2 个答案:

答案 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();