您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何在HTML5中使用WebSocket,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
客戶端代碼:
<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();">發送</button> </body> </html>
winform服務端代碼:
注:需先引入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>(); //初始化服務端 var server = new WebSocketServer("ws://0.0.0.0:8181"); //開始監聽 server.Start(socket => { //有客戶端連接觸發 socket.OnOpen = () => { textBox3.Text += socket.ConnectionInfo.ClientIpAddress + " 連接 \r\n"; allSockets.Add(socket); }; //有客戶端斷開觸發 socket.OnClose = () => { textBox3.Text += socket.ConnectionInfo.ClientIpAddress + " 斷開連接 \r\n"; allSockets.Remove(socket); }; //接收客戶端發送的消息 socket.OnMessage = message => { textBox3.Text += socket.ConnectionInfo.ClientIpAddress + " 發送了消息:" + message + "\r\n"; //發送接收到的消息給所有客戶端 allSockets.ToList().ForEach(s => s.Send(message)); }; }); } } }
以上就是如何在HTML5中使用WebSocket,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。