首先在服務器方面,網上都有不一樣的對websocket支持的服務器:php
以上內容摘自:菜鳥教程,你們能夠根據本身的喜愛決定安裝配置哪一個服務器環境。css
這裏我安裝的是nodejs環境,安裝教程:菜鳥教程html
下面開始進入正題。打開vscode,新建一個文件夾,再在此文件夾下新建一個server.js文件來監聽端口:html5
1 var WebSocketServer = require('ws').Server, 2 wss = new WebSocketServer({ port: 8181 }); 3 wss.on('connection', function (ws) { 4 console.log('client connected'); 5 ws.on('message', function (message) { 6 console.log(message); 7 }); 8 });
其中的require('ws')要求配置好websocket環境,咱們將github上的websocket源碼下載下來解壓並安裝:node
地址:https://github.com/websockets/wspython
npm install websocket
port處的端口號須要先掃描端口才能填寫,不然可能監聽失敗。在命令提示符下輸入jquery
netstat -ano
便可獲取全部已佔用端口的信息。nginx
而後點一下調試,在彈出的調試環境下拉菜單裏選nodejs,這時vscode會自動生成一個json文件:git
此處須要在program後的引號中寫下js文件的地址。github
按下F5調試,若無問題可繼續下一步:
新建一個client.html文件:
1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4 <title>WebSocket Echo Demo</title> 5 <meta name="viewport" content="width=device-width, initial-scale=1"/> 6 <link href="../bootstrap-3.3.5/css/bootstrap.min.css" rel="stylesheet" /> 7 <script src="../js/jquery-1.12.3.min.js"></script> 8 <script src="../bootstrap-3.3.5/js/bootstrap.min.js"></script> 9 <script> 10 var ws = new WebSocket("ws://localhost:8181"); 11 ws.onopen = function (e) { 12 console.log('Connection to server opened'); 13 } 14 function sendMessage() { 15 ws.send($('#message').val()); 16 } 17 var WebSocketServer = require('ws').Server, 18 wss = new WebSocketServer({ port: 8181 }); 19 wss.on('connection', function (ws) { 20 console.log('client connected'); 21 ws.on('message', function (message) { 22 console.log(message); 23 }); 24 }); 25 </script> 26 </head> 27 28 <body > 29 <div class="vertical-center"> 30 <div class="container"> 31 <p> </p> 32 <form role="form" id="chat_form" onsubmit="sendMessage(); return false;"> 33 <div class="form-group"> 34 <input class="form-control" type="text" name="message" id="message" 35 placeholder="Type text to echo in here" value="" /> 36 </div> 37 <button type="button" id="send" class="btn btn-primary" 38 onclick="sendMessage();"> 39 Send! 40 </button> 41 </form> 42 </div> 43 </div> 44 <div id="info"></div> 45 </body> 46 </html>
打開命令行,切換到你的項目的目錄,輸入如下命令啓動服務器:
node server.js
打開client.html,在文本框中輸入任意字符串發送,服務器將收到的字符串輸出在命令行窗口中:
感興趣的朋友能夠下載源碼調試:項目源碼。
寫這篇文章前我看過不少相似的文章,但針對新手的較少;代碼借鑑了一些比較優秀的項目。