0

プロトコル内にカスタム イベントを実装する方法がわかりません

例: サーバー側

client.on('checkin', function (name) { ... });

およびクライアント側

socket.emit('checkin',name);

私の現在の考えは、関数で受信したデータに応じて if 条件を作成することですdataReceived(self, data)。データに格納されるヘッダーの一種。

提案やドキュメントをいただければ幸いです。ありがとう。

4

3 に答える 3

2

ここで「カスタム イベント」と言うときは、ワイヤ プロトコルの実装について話していることになります。あなたが話している「イベント」は、そのプロトコル内のメッセージであり、任意のソケットで実行できるものではありません。socket.ioどのプロトコルが話しているのかわかりません。クライアントを作成している場合 (そしてそれが Web ブラウザーではない場合)、クライアント/サーバー通信を行うための拡張可能な方法を提供するAMPを使用することをお勧めします。

于 2013-09-23T17:38:33.643 に答える
1

他のプロトコルがどのようにそれを行っているかを調べてみませんか?

例えば。IRCClient が良い例だと思います - http://twistedmatrix.com/trac/browser/tags/releases/twisted-8.2.0/twisted/words/protocols/irc.py#L1707

于 2013-09-23T13:46:35.193 に答える
1

少なくとも TCP では、これに生のプロトコルを使用したくない場合があります。 dataReceivedソケットにデータがある場合は常に呼び出され、送信されるデータの「チャンク」間に自然な分割はありません。より簡単な方法は、DataReceived を実装しlineReceived、収集したデータ行全体を呼び出す LineReceiver など、プロトコルをラップするクラスの 1 つを使用することです。

于 2013-09-23T13:51:40.100 に答える