基于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 background-image颜色渐变的实现代码
Sep 13 HTML / CSS
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
Dec 10 HTML / CSS
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
Dec 30 HTML / CSS
使用CSS3来代替JS实现交互
Aug 10 HTML / CSS
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
Jan 06 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
Apr 18 HTML / CSS
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
Jan 30 HTML / CSS
HTML5的表单(绝对特别强大的功能)使用示例
Jun 20 HTML / CSS
微信html5页面调用第三方位置导航的示例
Mar 14 HTML / CSS
html5录音功能实战示例
Mar 25 HTML / CSS
AmazeUI导航的示例代码
Aug 14 HTML / CSS
CSS SandBox应用场景及常见问题
Jun 25 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
php中用foreach来操作数组的代码
2011/07/17 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
javascript 闭包疑问
2010/12/30 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
vuejs指令详解
2017/02/07 Javascript
javascript 秒表计时器实现代码
2017/03/09 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
关于工资低的辞职信
2014/01/14 职场文书
严以用权专题学习研讨会发言材料
2015/11/09 职场文书
小学体育课教学反思
2016/02/16 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书
python 爬取吉首大学网站成绩单
2021/06/02 Python