没有合适的资源?快使用搜索试试~ 我知道了~
C#实现WebSocket协议客户端和服务器websocket sharp组件实例解析
19 下载量 158 浏览量
2020-08-30
20:52:53
上传
评论
收藏 83KB PDF 举报
温馨提示


试读
3页
主要介绍了C#实现WebSocket协议客户端和服务器websocket sharp组件实例解析,包括websocket sharp组件的概念及使用方法,需要的朋友可以参考下
资源推荐
资源详情
资源评论

















C#实现实现WebSocket协议客户端和服务器协议客户端和服务器websocket sharp组组
件实例解析件实例解析
主要介绍了C#实现WebSocket协议客户端和服务器websocket sharp组件实例解析,包括websocket sharp组件的
概念及使用方法,需要的朋友可以参考下
看到这篇文章的题目,估计很多人都会问,这个组件是不是有些显的无聊了,说到web通信,很多人都会想到ASP.NET
SignalR,或者Nodejs等等,实现web的网络实时通讯。有关于web实时通信的相关概念问题,在这里就不再做具体的介绍
了,有兴趣的可以自行百度。
下面我们介绍一款WebSocket组件websocket-sharp的相关内容。
一一.websocket-sharp组件概述组件概述
websocket-sharp是一个C#实现websocket协议客户端和服务端,websocket-sharp支持RFC 6455;WebSocket客户端和服
务器;消息压缩扩展;安全连接;HTTP身份验证;查询字符串,起始标题和Cookie;通过HTTP代理服务器连接;.NET
Framework 3.5或更高版本(包括兼容环境,如Mono)。
websocket-sharp是一个单一的组件,websocket-sharp.dll。websocket-sharp是用MonoDevelop开发的。所以建立一个简
单的方式是打开websocket-sharp.sln并使用MonoDevelop中的任何构建配置(例如Debug)运行websocket-sharp项目的构
建。
上面介绍了.NET项目中添加websocket-sharp组件,如果想向Unity项目中使用该DLL ,则应将其添加到Unity Editor中的项
目的任何文件夹。在Unity的项目中,Unity Free有一些约束:Webplayer的安全沙箱(Web Player中不提供该服务器);
WebGL网络( WebGL中不可用);不适用于此类UWP;对System.IO.Compression的有限支持(压缩扩展在Windows上不
可用);iOS / Android的.NET Socket支持(如果您的Unity早于Unity 5,则需要iOS / Android Pro);适用于iOS / Android
的.NET API 2.0兼容级别。适用于iOS / Android的.NET API 2.0兼容性级别可能需要在.NET 2.0之后修复缺少某些功能,例如
System.Func<...>代理(因此我已将其添加到该资产包中)。
二二.websocket-sharp组件使用方法组件使用方法
1.WebSocket客户端
using System;
using WebSocketSharp;
namespace Example
{
public class Program
{
public static void Main (string[] args)
{
using (var ws = new WebSocket ("ws://dragonsnest.far/Laputa")) {
ws.OnMessage += (sender, e) =>
Console.WriteLine ("Laputa says: " + e.Data);
ws.Connect ();
ws.Send ("BALUS");
Console.ReadKey (true);
}
}
}
}
由上面的代码示例中,使用WebSocketWebSocket URL 创建类的新实例来连接。一个WebSocket.OnOpen当WebSocket
连接已经建立发生的事件。WebSocket.OnMessage当发生事件WebSocket接收消息。一个WebSocket.OnClose当
WebSocket的连接已关闭发生的事件。如果要异步连接到服务器,应该使用该WebSocket.ConnectAsync ()方法。可以使用
WebSocket.Send (string),WebSocket.Send (byte[])或WebSocket.Send (System.IO.FileInfo)方法来发送数据。如果您想要
异步发送数据,则应该使用该WebSocket.SendAsync方法。如果要明确地关闭连接,应该使用该WebSocket.Close方法。
2.WebSocket服务器
using System;
using WebSocketSharp;
using WebSocketSharp.Server;
namespace Example
{
public class Laputa : WebSocketBehavior
{
protected override void OnMessage (MessageEventArgs e)
{
var msg = e.Data == "BALUS"
? "I've been balused already..."
: "I'm not available now.";
Send (msg);
资源评论


weixin_38731199
- 粉丝: 6
- 资源: 928
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基础算法-python爬楼梯问题
- 某音Web端参数X-Bogus获取算法(逆向分析)
- 头歌答案 C语言程序设计实践 实验二 数据类型与基本操作(1)
- java高校实习生管理系统设计和实现springboot+vue毕业设计源码+数据库mysql代码.rar
- springboot+vue.js辽B代驾管理系统java毕业设计源码+数据库代码.rar
- OceanBase OBCA初级考试认证资料
- java可信捐赠管理系统的设计与开发springboot+vue毕业设计源码+数据库代码.rar
- vue基于Springboot的网上宠物店系统的设计与实现java毕业设计源码+数据库代码.rar
- OceanBase OBCA 部分题目
- vue基于springboot的七彩云南文化旅游网站的设计与实现java毕业设计源码代码+数据库.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
