项目地址: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"));
}

最新文章

  1. The Similarities and Differences Between C# and Java -- Part 1(译)
  2. linux下设置固定IP
  3. json.stringfy()和json.parse()
  4. 浅谈struts2之chain
  5. 禁用Resharper长代码自动换行的解决办法
  6. iOS开发——UI进阶篇(六)键盘处理
  7. WPF Caliburn.Micro ListView 批量删除 新方法.高效的
  8. 一个html5开发工具
  9. A Flock Of Tasty Sources On How To Start Learning High Scalability
  10. 转载.net泛型理解说明
  11. CSS sliod属性
  12. MySQL 字段内容区分大小写
  13. linux关闭防火墙及开放端口
  14. 第二次作业-git的基本操作
  15. linked-list-cycle (快慢指针判断是否有环)
  16. SQL中varchar和nvarchar有什么区别
  17. leaflet入门(五)API翻译(下)
  18. Nginx使用笔记
  19. Xcode - 升级后模拟器无法响应电脑键盘
  20. 手风琴图片和钢琴导航栏JQ滑动特效

热门文章

  1. [译]用R语言做挖掘数据《一》
  2. laravel数据迁移
  3. mysql索引对单表查询的影响
  4. C# 过滤sql特殊字符串方法
  5. HBase—列族数据库的术语
  6. 时间复杂度为O(logN)的常用算法
  7. 5.Resource注解解析
  8. 领域模型(DomainModel)与视图模型(ViewModel)
  9. 理解bind函数
  10. jQuery瀑布流+无限加载图片