Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Socket.IO无法完全工作_Node.js_Sockets_Socket.io_Server - Fatal编程技术网

Node.js Socket.IO无法完全工作

Node.js Socket.IO无法完全工作,node.js,sockets,socket.io,server,Node.js,Sockets,Socket.io,Server,我运行一个独立的服务器,它监听端口5000。当我通过Netcat或Telnet连接到它时,应用程序不会在终端上打印任何内容,但在Netcat/Telnet应用程序屏幕上,它显示连接已建立 var io = require('socket.io')(); io.on('connection', function(socket){ console.log('Socket connection established'); }); io.listen(5000); console.log('Li

我运行一个独立的服务器,它监听端口5000。当我通过Netcat或Telnet连接到它时,应用程序不会在终端上打印任何内容,但在Netcat/Telnet应用程序屏幕上,它显示连接已建立

var io = require('socket.io')();
io.on('connection', function(socket){
console.log('Socket connection established'); 
}); 
io.listen(5000); 
console.log('Listening to port 50000');

io是WebSocket的库

当您连接到telnet时,它表示您已连接。这足以知道您的服务器正在侦听

如果您想看到它的运行,您必须使用socket.io客户端连接到它。为此,只需在html文件中包含
/socket.io/socket.io.js

这足以建立连接

 socket = io.connect('http://localhost:5000');

未显示
console.log
的原因是websocket未连接。只建立了tcp/ip连接,这是telnet告诉您的

这意味着它可以工作。否?@smit这意味着,如果它工作,为什么它不在终端上打印任何内容?Did
console.log('listing to port 50000')打印?@Smit是,它会打印,但不会打印“已建立套接字连接”。这就是我的问题。你能分享你的整个服务器
.js
文件吗?包含
require
sSocket.io不是WebSocket的库。它是一个用于实时双向通信的库,支持通过多个传输进行通信,默认情况下不使用WebSocket,而是使用XHR Longpolling。WebSockets只有在exchange双方都支持并且可以成功升级到的情况下才能使用。@LorenzMeyer谢谢,您的解决方案有效。现在我知道我犯了什么错误。@peteb你说得对,“socket.io不是websockets的库”。它用于建立与服务器的连续连接,允许服务器将事件推送到客户端。我不同意“默认情况下不使用WebSocket”。如果浏览器支持websockets,它将使用websockets,如果websockets不可用,它将使用xhr longpolling等其他技术。@LorenzMeyer说它使用longpolling是不正确的。它从longpolling开始,如果可能,将升级到websockets。