プロトコル内にカスタム イベントを実装する方法がわかりません
例: サーバー側
client.on('checkin', function (name) { ... });
およびクライアント側
socket.emit('checkin',name);
私の現在の考えは、関数で受信したデータに応じて if 条件を作成することですdataReceived(self, data)
。データに格納されるヘッダーの一種。
提案やドキュメントをいただければ幸いです。ありがとう。
ここで「カスタム イベント」と言うときは、ワイヤ プロトコルの実装について話していることになります。あなたが話している「イベント」は、そのプロトコル内のメッセージであり、任意のソケットで実行できるものではありません。socket.io
どのプロトコルが話しているのかわかりません。クライアントを作成している場合 (そしてそれが Web ブラウザーではない場合)、クライアント/サーバー通信を行うための拡張可能な方法を提供するAMPを使用することをお勧めします。
他のプロトコルがどのようにそれを行っているかを調べてみませんか?
例えば。IRCClient が良い例だと思います - http://twistedmatrix.com/trac/browser/tags/releases/twisted-8.2.0/twisted/words/protocols/irc.py#L1707
少なくとも TCP では、これに生のプロトコルを使用したくない場合があります。 dataReceived
ソケットにデータがある場合は常に呼び出され、送信されるデータの「チャンク」間に自然な分割はありません。より簡単な方法は、DataReceived を実装しlineReceived
、収集したデータ行全体を呼び出す LineReceiver など、プロトコルをラップするクラスの 1 つを使用することです。