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);