客户端代码在节点js

我是Nodejs的新手,并试图使用套接字设置服务器客户端连接。 以下是我的代码。 服务器工作正常,但客户端没有连接。 请谁能帮我弄清楚这个错误。

非常感谢jessi

Server.js

var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require('socket.io')(server); io.on('connection', function(socket){ console.log('a user connected'); socket.on('disconnect', function(){ console.log('user disconnected'); }); }); io.on('data', function(data) { console.log('DATA from client is: ' + data); // Close the client socket completely }); server.listen(4200); console.log('Monitoring server listening on port 4200'); 

Client.js

 var HOST = '127.0.0.1'; var PORT = 4200; var express = require('express'); var app = express(); var client = require('http').createServer(app); var io = require('socket.io')(client); client.connect(PORT, HOST, function() { console.log('CONNECTED TO: ' + HOST + ':' + PORT); // Write a message to the socket as soon as the client is connected, // the server will receive it as message from the client io.write('I am Chuck Norris!'); }); // Add a 'data' event handler for the client socket // data is what the server sent to this socket client.on('data', function(data) { console.log('DATA: ' + data); // Close the client socket completely client.destroy(); }); // Add a 'close' event handler for the client socket client.on('close', function() { console.log('Connection closed'); }); 

对于客户端,您可以使用socket.io-client包。 客户端不需要使用Express部分,因为您不在客户端上重新创buildWeb服务器。 如果你看看你当前的代码,你基本上重新创build了不是你想要做的Socket服务器。

所有这一切都需要创build一个新的Socket.io客户端并注册您的各种事件处理程序。

 var socket = require('socket.io-client')('localhost:4200'); socket.on('data', function(data) { // handle incoming data console.log(data); });