白云岛资源网 Design By www.pvray.com
基于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的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
白云岛资源网 Design By www.pvray.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
白云岛资源网 Design By www.pvray.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。