Nodejs-websocket簡易コードローカルエリアネットワークの複数のクライアントによる通信を実現


Websocket:
WebSocketは、HTML 5が提供し始めたブラウザとサーバ間のフルデュプレクス通信のネットワーク技術である.WebSocket APIでは、ブラウザとサーバが握手(handshaking)するだけで、ブラウザとサーバの間に高速チャネルが形成されます.両者の間で直接データを互いに転送することができる.WebSocketは、サーバとクライアントに分かれた通信プロトコルです.サーバーはバックグラウンドに置いて、クライアントとの長い接続を維持して、双方の通信の任務を完成します.クライアントは一般的にHTML 5ブラウザをサポートするコアで実現され、JavascriptAPIを提供することでWebページを使用してwebsocket接続を確立することができます.
以下は筆者のコードの実行です:まずwebsocketプラグインをインストールします:コマンドウィンドウnpm install websocketコマンドウィンドウ実行ファイルコード:
var express = require('express');
var app = new express();

app.use(express.static('public'));

app.set('views engine','ejs');

app.get('/',function(req,res){
    res.render('home3');
})

app.listen(8888);       //    localhost:8888

var ws = require('nodejs-websocket'); //  websocket  
var server = ws.createServer(function(c){   //          
        console.log('connection is succession');  //              
        c.on('text',function(str){    //  on  ,   text  ,                         。
            server.connections.forEach(function(connection){ //
                connection.sendText(str);
            })
        })
})
server.listen(1111);

フロントエンドページコード:ファイル接尾辞htmlをejsに変更することに注意してください.バックグラウンドファイルがジャンプするページはejsの中でレンダリングされるので、変更したくない場合はres.render(‘home 3’)をres.sendFile(_dirname+"/views"+"/home 3.html")に変更してみてください.

<html>
    <head>
        <meta charset="UTF-8">
        <title>title>
    head>
    <body>
        <input type="text" name="inp" id="inp" placeholder="         " />
        <button id = 'btn', onclick="send()">  button>

        <script type="text/javascript">
            var ws; 
            window.onload=function(){
                ws= new WebSocket('ws://192.168.3.102:1111'); //    websocket     server        ;
                ws.onopen=function(){    //websocket 4   
                    console.log('ws is opening')
                };
                ws.onmessage=function(mydata){
                    var div = document.createElement('div')
                    div.innerHTML=mydata.data;
                    document.body.appendChild(div);
                }
                ws.onclose=function(){
                    console.log('ws is closed');
                }
                ws.onerror=function(){
                    console.log('ws is error');
                }

            }

            function send(){
                var str = document.getElementById('inp').value;
                if(str==''){
                    alert('     ');
                }else{
                    ws.send(str);
                }
                str = '';
            }

        script>
    body>
html>

これにより,バックグラウンドファイルを実行し,各クライアントがページ上でサーバ側のip:ポート番号を要求すると,接続通信が可能になる.上記のコードを例にとると、バックグラウンドコードファイルの実行–192.168.3.102:8888–コンテンツの入力、通信へのアクセス