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