WebSocketの使用例

効果の例は次のとおりです。

 

ノードを使用してサーバープログラムを作成するには、最初にノード環境をインストールする必要があります。

次に、WebSocket依存関係パッケージをインストールします。WebSocket依存関係パッケージをインストールするコマンドは次のとおりです。

npm i ws -S

 パッケージがインストールされたら、app.jsをバックエンドサービスプロジェクトファイルとして作成します。コードは次のとおりです。


//引入ws包
const WebSocket = require('ws');

//创建WebSoctet.Server对象
const wss = new WebSocket.Server({
    port: 1111
});

//对客户端连接事件进行监听
//client 客户端的连接soctet对象
wss.on('connection', client => {
    console.log("有客户端连接成功");
    //对客户端的message事件进行监听
    //msg 客户端发送给服务端的数据
    client.on('message', msg => {
        console.log("客户端发送数据给服务端了,数据是:" + msg);
        //由服务端向前端发送数据
        client.send("前端你好,我是从后端发送过来的数据.");
    });
});

 

フロントエンドの呼び出しページとしてhtmlファイルを作成します。コードは次のとおりです。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>WebSocket实例</title>
</head>

<body>
    <button id="connect">连接服务端</button>
    <button id="send" disabled="true">发送数据</button>
    <br> 从服务端接收的数据如下: <br>
    <span style="color:red" id="result"></span>

    <script>
        var connect = document.querySelector('#connect');
        var send = document.querySelector('#send');
        var result = document.querySelector('#result');

        let ws = null;
        connect.onclick = function() {
            ws = new WebSocket('ws://localhost:1111');
            ws.onopen = () => {
                console.log('连接服务器成功了');
                send.disabled = false;
            }
            ws.onclose = () => {
                console.log('连接服务器失败了');
                send.disabled = true;
            }
            ws.onmessage = (msg) => {
                console.log('接收到服务器发送过来的数据');
                result.innerHTML = msg.data;
            }
        }

        send.onclick = function() {
            ws.send('后端你好,我是从前端发送过来的数据');
        }
    </script>
</body>

</html>

フロントエンドコードとバックエンドコードを作成したら、最初にバックエンドプログラムを起動します。コマンドラインは次のとおりです。

ノードapp.js

 プログラムが起動したら、ブラウザでhtmlページを開いてプログラムをテストします。

 

具体的な手順は次のとおりです。

 

サーバーとクライアントが正常に接続を確立し、双方向にデータを送信できることがわかります。

おすすめ

転載: blog.csdn.net/liangmengbk/article/details/111088532
おすすめ