0

node.js チャット アプリを作成しましたが、アプリが読み込まれません。コードは非常に基本的な node.js チャット アプリです。

// Load the TCP Library
var net = require('net');

// Keep track of the chat clients
var clients = [];

// Start a TCP Server
net.createServer(function (client) {

    console.log("Connected!");

    clients.push(client);

    client.on('data', function (data) {
        clients.forEach(function (client) {
            client.write(data);
        });
    });

}).listen(5000);

// Put a friendly message on the terminal of the server.
console.log("Chat server is running\n");

コンパイルした後、Chrome ブラウザで書き込みlocalhost:5000ますが、ページがロードされ続け、終了しません。

ただし、次のコードは完全に機能します。

// Load the TCP Library
net = require('net');

// Start a TCP Server
net.createServer(function (client) {
    client.write("Hello World");
    client.end();
}).listen(5000);


コンピューターで Windows 7 64 ビットを実行しており、Chrome を使用しています。

前もって感謝します!

4

3 に答える 3

2

モジュールを使用して TCP/IP サーバーを作成してnetいますが、Web ブラウザーを使用して http プロトコルを使用してアクセスしています。

これは互いに一致しません。

たとえば、を使用してサーバーに接続しようとするtelnetと、すべてがうまくいくはずです。

または、Web ブラウザーを使用して接続できるようにする場合は、httpモジュールの代わりにモジュールを使用する必要がありnetます。

于 2013-02-12T21:01:32.037 に答える
1

HTTP 用ではなく、TCP 用のネット ライブラリ。TCS を使用している場合、ブラウザではなく telnet でチャットにアクセスできるはずです。

これは、HTTP 用の記述方法の例です ( http://nodejs.org/から) 。

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
于 2013-02-12T21:02:14.203 に答える
1

TCP 接続を開くときにブラウザでテストしないでください。

telnet localhost 5000コンソールでテストするだけ です。

于 2013-02-12T21:07:33.660 に答える