0

onConnectnodeJSの関数に入ることができません。すべてのことは、nodejsをサーバーとして使用してフラッシュに接続しようとしています。

私のserver.jsは

 var net = require('net');

 var mySocket;

 var server = net.createServer(function(socket) {
   mySocket = socket;
   mySocket.on("connect", onConnect);
   mySocket.on("data", onData);
 });

 function onConnect()
 {
    console.log("Connected to Flash");
 }

 function onData(d)
 {
   if(d == "exit\0")
   {
      console.log("exit");
      mySocket.end();
      server.close();
    }
   else
   {
           console.log("From Flash = " + d);
            mySocket.write(d, 'utf8');
    }
 }

  server.listen(9001, "127.0.0.1");
  console.log("Connection Established");

誰が私がどこで間違ったのか教えてもらえますか?

4

1 に答える 1

1

イベントconnectionはクラス net.Server (サーバー) 用であり、クラス net.Socket (connectクライアント) 用です。net.createServer を使用してサーバーを作成すると、渡した関数がconnectionイベントのリスナーとして自動的に設定されます。APIドキュメントから-

net.createServer([オプション], [connectionListener])

新しい TCP サーバーを作成します。connectionListener 引数は、'connection' イベントのリスナーとして自動的に設定されます。

サーバーにはconnectイベントがありません。connectcreate anotherを使用するclient.jsには、次のように create another を使用し、 を実行した後に実行しますserver.js

 var net = require('net');
 var port = 9001,
     host = '127.0.0.1';
 var socket = net.createConnection(port, host);
 console.log('Socket created.');
 socket.on('data', function (data) {
     console.log('RESPONSE: ' + data);
 }).on('connect', function () {
     socket.write("GET / HTTP/1.0\r\n\r\n");
 }).on('end', function () {
     console.log('DONE');
 });
于 2013-03-27T13:45:02.830 に答える