一個最簡單的WebSocket hello world demo
伺服器端程式碼不超過42行:
const WSServer = require("./server.js");var counter = 0;function createWebsocket() { var host = "127.0.0.1"; var port = "9999"; var wsServer = WSServer.startServer(host, port); console.log("WebSocket server listens to: " + host + ":" + port); wsServer.on('open', (data) => { console.log('WS Client has connected: ' + data); setInterval(function(){ counter++; WSServer.broadcast("Jerry: " + counter ); }, 3000); }); wsServer.on('dataWS', (data) => { console.log('Receive Data from WebUI : ' + data); }); wsServer.on('disconnect', (data) => { console.log('WSServer disconnect:' + data.name); }); wsServer.on('close', (data) => { console.log('WSServer close: ' + data.name); }); wsServer.on('end', (data) => { console.log('WSServer Close: '+data.name); }); wsServer.on('error', (data) => { }); } createWebsocket();
程式碼第10行建立一個WebSocket伺服器,監聽在9999埠上:
第15~18行每隔3秒傳送一個字串到瀏覽器,用一個計數器標識每次傳送的請求。
程式碼裡所需的server.js我已經上傳到我的Github上了:
使用nodejs啟動這個伺服器:
網頁端程式碼:
<html><script src="socket.io.dev.js"></script><script>console.log("1"); var socket = io('ws://127.0.0.1:9999'); socket.on('connect', function(){ console.log("connected!"); }); socket.on('event', function(data){ console.log("event: " + data); }); socket.on('news', function(data){ console.log("data from server: " + JSON.stringify(data,2,2)); }); socket.on('disconnect', function(){ console.log("disconnect..."); });</script></html>
瀏覽器端每隔三秒收到伺服器推送的訊息,列印在console上:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2637982/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 簡單的websocket demoWeb
- 最長的Hello, World!(Python)Python
- 第一個程式Hello world
- 最長的Hello, World!(C++)C++
- react 第一個元件 “hello world!”React元件
- 第一個ncurses程式: hello world !!!
- Go的第一個Hello程式 簡簡單單 - 快快樂樂Go
- 從零體檢一個魔塔社群模型(modelscope)最簡單demo模型
- websocket+node實現一個最簡單的即時通訊功能Web
- spring boot(一)hello worldSpring Boot
- 一個簡單的介面測試框架 demo框架
- 關於SSM框架的一個簡單DemoSSM框架
- Hello World
- Hello World!
- Hello, World
- Hello World !
- Hello,World
- react的”Hello World !“React
- WebGL 的 Hello WorldWeb
- Linux下第一個程式設計,hello world!Linux程式設計
- 一個最簡單的web componentsWeb
- spring boot(一)hello world 搭建Spring Boot
- 在docker中寫個Hello WorldDocker
- 5分鐘部署一個Hello World Servlet到CloudFoundryServletCloud
- Go:Hello WorldGo
- dotnet hello world
- ant Hello World
- Deep "Hello world!"
- Hello Python worldPython
- Hello World探究
- Docker Hello WorldDocker
- Go - Hello WorldGo
- 第三課 如何實現以太坊最簡智慧合約“Hello World”的執行
- 讓你的Laravel在 15 毫秒內返回一個"hello world!"Laravel
- 一個最簡單的 Github workflow 例子Github
- 使用WebSocket實現一個簡單的頁面聊天Web
- 我的AI之路(26)--使用ROSBridge WebSocket和roslibjs構建一個簡單的控制機器人的web demoAIROSWebJS機器人
- 關於 WebSocket 和 HTTP 區別的思考以及一個最簡單的 WebSocket 的客戶端和伺服器實現WebHTTP客戶端伺服器