阅前提示
Websocket-sharp提供了实现WebSocket协议客户端和服务器。支持: RFC 6455; 创建客户端和服务器;数据压缩扩展; 安全连接;HTTP身份验证; 查询字符串、header、Cookie ;通过HTTP代理服务器连接 ;.NET Framework 3.5 or
later(包括兼容环境,如Mono)
适合人群 :C#+websocket 使用者
阅读方式:浏览
下载
构建
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();