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

阅前提示

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();
原创文章 28 获赞 30 访问量 2431

猜你喜欢

转载自blog.csdn.net/qq_28820675/article/details/105460908