头闻号

扬州光华塑料化工厂

化工产品加工|其他聚合物|环氧树脂|粉末涂料|环氧涂料|特种涂料

首页 > 新闻中心 > 科技常识:基于HTML5的WebSocket的实例代码
科技常识:基于HTML5的WebSocket的实例代码
发布时间:2024-09-22 10:29:43        浏览次数:3        返回列表

今天小编跟大家讲解下有关基于HTML5的WebSocket的实例代码 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关基于HTML5的WebSocket的实例代码 的相关资料,希望小伙伴们看了有所帮助。

基于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的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对爱蒂网站的支持!

来源:爱蒂网