2

据我了解,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

4

2 回答 2

0

您还需要服务器上的 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。希望能帮助到你

于 2013-05-15T15:18:57.660 回答
0

尝试不使用 http://

var socket = new io.Socket('localhost', {port: 8080 }); 
socket.connect();

此外,对于 localhost,您可以使用 null 作为主机

var socket = new io.Socket(null, {port: 8080 }); 
socket.connect();
于 2013-05-15T15:21:49.280 回答