基于HTML5的WebSocket的实例代码


Posted in HTML / CSS onAugust 15, 2018

基于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包

基于HTML5的WebSocket的实例代码

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

HTML / CSS 相关文章推荐
CSS3实现多背景展示效果通过CSS3定位多张背景
Aug 10 HTML / CSS
用CSS3写的模仿iPhone中的返回按钮
Apr 04 HTML / CSS
CSS3制作圆形滚动进度条动画的示例
Nov 05 HTML / CSS
HTML+CSS3+JS 实现的下拉菜单
Nov 25 HTML / CSS
html5 localStorage本地存储_动力节点Java学院整理
Jul 06 HTML / CSS
详解通过变换矩阵实现canvas的缩放功能
Jan 14 HTML / CSS
HTML5的结构和语义(3):语义性的块级元素
Oct 17 HTML / CSS
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
May 07 HTML / CSS
HTML5 canvas基本绘图之绘制线条
Jun 27 HTML / CSS
清除canvas画布内容(点擦除+线擦除)
Aug 12 HTML / CSS
关于canvas.toDataURL 在iOS运行失败的问题解决
Sep 16 HTML / CSS
css3中transform属性实现的4种功能
Aug 07 HTML / CSS
HTML5中canvas中的beginPath()和closePath()的重要性
Aug 24 #HTML / CSS
Html5移动端弹幕动画实现示例代码
Aug 27 #HTML / CSS
Html5页面在微信端的分享的实现方法
Aug 30 #HTML / CSS
canvas粒子动画背景的实现示例
Sep 03 #HTML / CSS
html5中去掉input type date默认样式的方法
Sep 06 #HTML / CSS
html5新特性与用法大全
Sep 13 #HTML / CSS
HTML5新控件之日期和时间选择输入的实现代码
Sep 13 #HTML / CSS
You might like
php4的session功能评述(二)
2006/10/09 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
2017/10/22 PHP
超级酷和最实用的jQuery实例收集(20个)
2010/04/21 Javascript
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
JavaScript中的异常捕捉介绍
2014/12/31 Javascript
在JavaScript的正则表达式中使用exec()方法
2015/06/16 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
Vue 实现树形视图数据功能
2018/05/07 Javascript
vue 使用自定义指令实现表单校验的方法
2018/08/28 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
2019/10/26 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
Python中列表与元组的乘法操作示例
2018/02/10 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
修改默认的pip版本为对应python2.7的方法
2018/11/06 Python
python远程邮件控制电脑升级版
2019/05/23 Python
Form表单及django的form表单的补充
2019/07/25 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
详解python变量与数据类型
2020/08/25 Python
车库门开启器、遥控器和零件:Chamberlain
2019/04/09 全球购物
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
采购类个人求职的自我评价
2014/02/18 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
导师工作推荐信
2015/03/27 职场文书
记者节感言
2015/08/03 职场文书