node で Socket.IO モジュールを使用するにはどうすればよいですか?次の記事では、node.js で Socket.IO モジュールをエレガントに使用する方法を紹介します。
WebSocket ライブラリ#です## クライアント側 js
と サーバー側 Node.js
を含むその目標は、さまざまなブラウザーやモバイル デバイスで使用できるリアルタイム アプリケーションを構築することです。 [関連チュートリアルの推奨事項: nodejs ビデオ チュートリアル
]Socket.IO は、
を 統合通信インターフェイス
にカプセル化します。つまり、SocketIO を使用する場合、 互換性の問題を心配する必要はありません。最下層が自動的に最適な通信方法を選択します
。
には Emit を使用します。
npm i socket.io
は 2 つの最も重要な API で、それぞれ sending
と listening
イベントに対応します。
サーバー
でイベントを自由に定義して
クライアント で
on をリッスンすることができます。逆も同様です。
送信される
コンテンツ形式 も非常に自由です。
は、数値、文字列、ブールなどの基本的なデータ型にすることも、オブジェクト、配列型、さらには関数# ##。コールバック関数を使用すると、より移植性の高い対話が可能になります。
emit
##socket.emit(eventName[, ...args]) : イベントを発行 (トリガー)
socket.emit('aaa','你好,前台')
ここでは、例として server
を取り上げます。サーバーに socket.emit() を渡します
イベント作成方法 (
)として渡すことができます。aaa
内にあるため、##object、情報送信 (
第二パラメータ)
わかりました、フロント.
注:
2 番目のパラメータは
emit メソッド
JSON.stringfy()##socket.on(イベント名, コールバック)メソッドを使用すると、オブジェクトを文字列に自動的に変換します。
#on
:emitsocket.on('aaa',(msg)=>{
console.log(msg)
})
aaaそして、コールバック関数を通じて
aaa によって渡された情報を出力します。
#express で
const server = require('http').createServer(app); const io = require('socket.io')(server); io.on('connection', socket => { console.log('恭喜你连接成功!') socket.on("message",(msg)=>{ console.log(msg) //你好 后台 //注意 : 这里的 io.emit() 是默认转发给全部客户端信息,所有客户端都可以收到 io.emit("allMsg","广播 : 欢迎来到聊天室") }) }); server.listen(3000);
ファイル。socket.io はブラウザの組み込みモジュールではなく、個別に参照する必要があるため、js ファイルの内部コード ==>socket.io で個別に参照する必要があります。 js
Client
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><script src="/socket.io/socket.io.js"></script> <script> const socket = io(); //默认连接服务端启动的本地端口地址 socket.emit("message","你好 后台") // 监听服务端的广播事件,接收广播的消息 socket.on("allMsg",(msg)=>{ console.log(msg) //广播 : 欢迎来到聊天室 }) </script></pre><div class="contentsignin">ログイン後にコピー</div></div>
client
socket.io這個第三方模組相對來說,書寫程式碼的時候更加的方便與高效,在ws
模組中透過switch
分支來進行對不同的聊天類型
進行不同的方法呈現,而在socket.io
模組中僅僅透過自訂事件
就可以解決這個問題,並且socket.io可以在伺服器斷開後,當你再次進入客戶端後可以自動連接,整體的表現優於ws
模組。
更多node相關知識,請造訪:nodejs 教學!
以上がノード内で Socket.IO モジュールを適切に使用する方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。