基於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();CheckForIllegalCrossThreadlsgalCrossTh 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.Connection.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的實例代碼,希望對大家有幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對VeVb武林網站的支持!