0

次のコードを使用して、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、それで私は実際にサーバーに接続すると実際に「接続が受信されました」とログに記録されることを理解しました。これはサーバーに接続できることを意味しますが、表示されるのはブラウザがページを読み込もうとしていることです。実際のサーバーが見えません。

4

1 に答える 1

2

サーバーが応答しなくなるこの行がありません。

client.end();
于 2013-02-11T18:09:21.283 に答える