次のコードを使用して、node.jsチャットサイトを作成しました。
var net = require("net");
var chatServer = net.createServer(),
clients = [];
chatServer.on('connection', function(client) {
client.write('Welcome');
console.log("Connection is received!");
clients.push(client);
client.on('data', function (data) {
for(var i = 0; i < clients.length; i++) {
clients[i].write(data + "\n");
}
});
client.on('end', function() {
client.end();
});
});
chatServer.listen(8888);
しかし、localhost:8888に接続しようとすると、サーバーが閉じられるまでロードが維持されます。
次のコードが完全に機能することがわかりました。
var net = require("net");
var chatServer = net.createServer();
chatServer.on('connection', function(client) {
client.write('Hi!');
client.end();
});
chatServer.listen(8888);
では、チャットコードで何を間違えたのでしょうか。
編集: OK、それで私は実際にサーバーに接続すると実際に「接続が受信されました」とログに記録されることを理解しました。これはサーバーに接続できることを意味しますが、表示されるのはブラウザがページを読み込もうとしていることです。実際のサーバーが見えません。