C# websocketsharp 客户端使用快速上手

8 篇文章 3 订阅
3 篇文章 0 订阅

阅前提示

Websocket-sharp提供了实现WebSocket协议客户端和服务器。支持: RFC 6455; 创建客户端和服务器;数据压缩扩展; 安全连接;HTTP身份验证; 查询字符串、header、Cookie ;通过HTTP代理服务器连接 ;.NET Framework 3.5 or
later(包括兼容环境,如Mono)

适合人群 :C#+websocket 使用者
阅读方式:浏览

下载

Github源码

构建

websocket-sharp 只有一个程序集 websocket-sharp.dll
使用VS或者其他工具打开 websocket-sharp.sln 并生成dll文件即可。
将websocket-sharp.dll 放入Unity工程中的Plugins文件夹中。

使用

创建

_websocket = new WebSocket (url)
//可以使用using 当出现错误code1001时会关闭websocket
using(var ws new WebSocket (url))
{...}

监听

//连接成功时被调用
 _websocket.OnOpen += (sender, e) => {...} 
//接收消息,分为字符串消息、字节型消息、单纯的ping
 _websocket.OnMessage += (sender, e) => 
 {
     //MessageEventArgs e
     //e.Data => string text message
     //e.RawData => byte[] binary message
     if (e.IsText) {...};
     if(e.IsBinary){...};
     if(e.IsPing){...};
 } 
//接收错误消息,字符串提示与抛出的Exception
 _websocket.OnError += (sender, e) => 
 {
  	//ErrorEventArgs e
    //e.Message  e.Exception
 }
//连接断开时
_websocket.OnClose += (sender, e) => {...}

这里的OnMessage 被多线程所管理。websocket-sharp 使用ThreadPool管理消息接收,如有需求要自行设置最大和最小线程数

建立连接、发送消息、关闭连接

//连接 & 异步连接
_websocket.Connect ();
_websocket.ConnectAsync();
//发送信息 & 异步
_websocket.Send (byte[] data);
_websocket.Send (string data);
_websocket.Send (FileInfo fileInfo);  
_websocket.SendAsync (byte[] data, Action<bool> completed);
//关闭
_websocket.Close();
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值