基于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 + " 连接 rn";allSockets.Add(socket);};//有客户端断开触发socket.OnClose = () =>{textBox3.Text += socket.ConnectionInfo.ClientIpAddress + " 断开连接 rn";allSockets.Remove(socket);};//接收客户端发送的消息socket.OnMessage = message =>{textBox3.Text += socket.ConnectionInfo.ClientIpAddress + " 发送了消息:" + message + "rn";//发送接收到的消息给所有客户端allSockets.ToList().ForEach(s => s.Send(message));};});}}}

以上所述是小编给大家介绍的基于HTML5的WebSocket的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

基于HTML5的WebSocket的实例代码