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
Sockets 写入套接字_Sockets_Node.js_Chat - Fatal编程技术网

Sockets 写入套接字

Sockets 写入套接字,sockets,node.js,chat,Sockets,Node.js,Chat,当用户尝试向服务器写入任何内容时,我无法理解错误的原因: TypeError: Object #<identifyClient> has no method 'write' at writeToAll (/root/node/mud/server.js:13:15) TypeError:对象#没有方法“write” 在writeToAll(/root/node/mud/server.js:13:15) 为什么identifyClient()抱怨write(),而它发生在write

当用户尝试向服务器写入任何内容时,我无法理解错误的原因:

TypeError: Object #<identifyClient> has no method 'write'
at writeToAll (/root/node/mud/server.js:13:15)
TypeError:对象#没有方法“write”
在writeToAll(/root/node/mud/server.js:13:15)
为什么identifyClient()抱怨write(),而它发生在writeToAll()中(第15行旁边有注释)?identifyClient()实际上只设置客户端的名称,不应该关心writeToAll()中发生的事情

var net=require(“net”);
var客户=[];
功能识别客户端(客户端){
this.name=null;
this.client=client;
}
函数writeToAll(数据、客户端){
对于(变量i=0;i
客户机[i]替换
客户机[i]


此外,一旦断开连接,您必须将客户端从
客户端
阵列中删除。

谢谢。它就像一个符咒。我本来打算从阵列中删除用户,但我想在继续开发之前先解决这个问题。
var net = require("net");

var clients = [];

function identifyClient(client) {
    this.name = null;
    this.client = client;
}

function writeToAll(data, client) {
    for (var i = 0; i < clients.length; i++) {
        if (clients[i] != client) {
            clients[i].write(data); // This is line 15
        }
    }
}

var server = net.createServer(function(client) {
    var clientID = new identifyClient(client);
    clients.push(clientID);

    client.on("data", function(data) {
        writeToAll(data, client);
    });
});

server.listen(4444);