SuperSocket.ClientEngine介绍
2024-08-29 17:10:18
项目地址:https://github.com/kerryjiang/SuperSocket.ClientEngine
其中需要引入的SuperSocket.ProtoBase项目:SuperSocket.ProtoBase是流数据的一个协议分析库。
地址:https://github.com/kerryjiang/SuperSocket.ProtoBase
用法:
1、根据你的网络协议创建ReceiveFilter的实现。
SuperSocket.ClientEngine提供了一些有用的基本ReceiveFilter类(在命名空间“SuperSocket.ProtoBase”下),以帮助您简化协议分析:
- TerminatorReceiveFilter ,结束符协议
- CountSpliterReceiveFilter ,固定数量分隔符协议
- FixedSizeReceiveFilter, 固定请求大小的协议
- BeginEndMarkReceiveFilter,带起止符的协议
- FixedHeaderReceiveFilter, 头部格式固定并且包含内容长度的协议
基于SuperSocket.ClientEngine提供的基本接收过滤器,您应该根据你自己协议的详细信息来设计您自己的ReceiveFilter:
class MyReceiveFilter : TerminatorReceiveFilter<StringPackageInfo>
{
public MyReceiveFilter()
: base(Encoding.ASCII.GetBytes("||")) // two vertical bars as package terminator
{
} // other code you need implement according yoru protocol details
}
2、创建EasyClient实例,并使用前一步中创建的ReceiveFilter来初始化它。
var client = new EasyClient(); // Initialize the client with the receive filter and request handler
client.Initialize(new MyReceiveFilter(), (request) => {
// handle the received request
Console.WriteLine(request.Key);
});
3、建立连接,然后开始通信。
// Connect to the server
var connected = await client.ConnectAsync(new IPEndPoint(IPAddress.Parse("192.168.10.11"), )); if (connected)
{
// Send data to the server
client.Send(Encoding.ASCII.GetBytes("LOGIN kerry"));
}
最新文章
- The Similarities and Differences Between C# and Java -- Part 1(译)
- linux下设置固定IP
- json.stringfy()和json.parse()
- 浅谈struts2之chain
- 禁用Resharper长代码自动换行的解决办法
- iOS开发——UI进阶篇(六)键盘处理
- WPF Caliburn.Micro ListView 批量删除 新方法.高效的
- 一个html5开发工具
- A Flock Of Tasty Sources On How To Start Learning High Scalability
- 转载.net泛型理解说明
- CSS sliod属性
- MySQL 字段内容区分大小写
- linux关闭防火墙及开放端口
- 第二次作业-git的基本操作
- linked-list-cycle (快慢指针判断是否有环)
- SQL中varchar和nvarchar有什么区别
- leaflet入门(五)API翻译(下)
- Nginx使用笔记
- Xcode - 升级后模拟器无法响应电脑键盘
- 手风琴图片和钢琴导航栏JQ滑动特效