一個最簡單的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
- 最長的Hello, World!(C++)C++
- 最長的Hello, World!(Python)Python
- Kotlin開發Android專案簡單demo,不僅僅是Hello WorldKotlinAndroid
- react 第一個元件 “hello world!”React元件
- 第一個ncurses程式: hello world !!!
- 第一個PHP程式——Hello WorldPHP
- Go的第一個Hello程式 簡簡單單 - 快快樂樂Go
- React極簡教程:Hello,World!React
- websocket+node實現一個最簡單的即時通訊功能Web
- 寫一個簡單的demo理解vuexVue
- Hello,Cardboard!!-如何開發一個最簡單的Cardboard虛擬現實應用(一)
- 從零體檢一個魔塔社群模型(modelscope)最簡單demo模型
- 關於SSM框架的一個簡單DemoSSM框架
- 一個簡單的介面測試框架 demo框架
- Hello, World
- Hello World!
- Hello World
- Jbpm3.2 開發一個Hello World程式
- react的”Hello World !“React
- WebGL 的 Hello WorldWeb
- spring boot(一)hello worldSpring Boot
- 在docker中寫個Hello WorldDocker
- 學習WebSocket(一):Spring WebSocket的簡單使用WebSpring
- 一個最簡單的 Github workflow 例子Github
- 一個最簡單的計算器
- 一個最簡單的web componentsWeb
- 5分鐘部署一個Hello World Servlet到CloudFoundryServletCloud
- Linux下第一個程式設計,hello world!Linux程式設計
- 二 ASP.NET MVC 第一個程式 hello worldASP.NETMVC
- 第一個shell程式設計,輸出hello world!程式設計
- 使用WebSocket實現一個簡單的頁面聊天Web
- Go - Hello WorldGo
- Docker Hello WorldDocker
- 【Java】Hello worldJava
- React Hello,WorldReact
- Mockito Hello WorldMockito