基于HTML5的WebSocket的實(shí)例代碼
發(fā)布時(shí)間:2018-08-15 16:17:02 作者:佚名
我要評(píng)論

這篇文章主要介紹了基于HTML5的WebSocket的實(shí)例代碼,需要的朋友可以參考下
基于HTML5的WebSocket的實(shí)例代碼
客戶端代碼:
<html> <head> <script> var socket; if ("WebSocket" in window) { var ws = new WebSocket("ws://127.0.0.1:8181"); socket = ws; ws.onopen = function() { console.log('連接成功'); }; ws.onmessage = function(evt) { var received_msg = evt.data; document.getElementById("showMes").value+=evt.data+"\n"; }; ws.onclose = function() { alert("斷開了連接"); }; } else { alert("瀏覽器不支持WebSocket"); } function login(){ var message=document.getElementById("name").value+":"+document.getElementById("mes").value; socket.send(message); } </script> </head> <body> <textarea rows="3" cols="30" id="showMes" style="width:300px;height:500px;"></textarea> <br/> <label>名稱</label> <input type="text" id="name"/> <br/> <label>消息</label> <input type="text" id="mes"/> <button onclick="login();">發(fā)送</button> </body> </html>
winform服務(wù)端代碼:
注:需先引入Fleck包
using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using Fleck; namespace socketService { public partial class Form1 : Form { public Form1() { InitializeComponent(); CheckForIllegalCrossThreadCalls = false; } private void Form1_Load(object sender, EventArgs e) { //保存所有連接 var allSockets = new List<IWebSocketConnection>(); //初始化服務(wù)端 var server = new WebSocketServer("ws://0.0.0.0:8181"); //開始監(jiān)聽 server.Start(socket => { //有客戶端連接觸發(fā) socket.OnOpen = () => { textBox3.Text += socket.ConnectionInfo.ClientIpAddress + " 連接 \r\n"; allSockets.Add(socket); }; //有客戶端斷開觸發(fā) socket.OnClose = () => { textBox3.Text += socket.ConnectionInfo.ClientIpAddress + " 斷開連接 \r\n"; allSockets.Remove(socket); }; //接收客戶端發(fā)送的消息 socket.OnMessage = message => { textBox3.Text += socket.ConnectionInfo.ClientIpAddress + " 發(fā)送了消息:" + message + "\r\n"; //發(fā)送接收到的消息給所有客戶端 allSockets.ToList().ForEach(s => s.Send(message)); }; }); } } }
總結(jié)
以上所述是小編給大家介紹的基于HTML5的WebSocket的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
五分鐘學(xué)會(huì)HTML5的WebSocket協(xié)議
這篇文章主要介紹了五分鐘學(xué)會(huì)HTML5的WebSocket協(xié)議,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)2019-11-22websocket+sockjs+stompjs詳解及實(shí)例代碼
這篇文章主要介紹了websocket+sockjs+stompjs詳解及實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-30- 這篇文章主要介紹了html5 http的輪詢和Websocket原理的相關(guān)資料,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-19
前端監(jiān)聽websocket消息并實(shí)時(shí)彈出(實(shí)例代碼)
這篇文章主要介紹了前端監(jiān)聽websocket消息并實(shí)時(shí)彈出,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-23