节点 js 中的客户端代码

client code in node js

本文关键字:客户端 代码 js 节点      更新时间:2023-09-26

我是 Nodejs 的新手,正在尝试使用套接字设置服务器客户端连接。下面是我的代码。服务器工作正常,但客户端未连接。请谁能帮我找出错误。

非常感谢杰西

服务器.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');

客户端.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 部分,因为您不会在客户端上重新创建 Web 服务器。如果您查看当前代码,则实际上是在重新创建套接字服务器,这不是您想要做的。

所需要做的就是创建一个新的 Socket.io 客户端并注册各种事件处理程序。

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