SuperSocket客户端

SuperSocket客户端1 下载第一个是 SuperSocket 的客户端版本 0 10 0 第二个是 SuperSocket 提供的协议 过滤器版本 1 7 0 17 建立自己的过滤器 usingSuperSo ProtoBase usingSystem usingSystem Collections Generic usingSystem Linq usingSystem

1.下载

第一个是,SuperSocket的客户端  版本0.10.0

第二个是,SuperSocket提供的协议,过滤器  版本1.7.0.17

SuperSocket客户端

SuperSocket客户端

建立自己的过滤器

using SuperSocket.ProtoBase; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SuperSocketClient.SocketCore { ///  /// 协议过滤 ///  public class ReceiveFilter : BeginEndMarkReceiveFilter 
  
    //开头结尾 { //可选继承类: //TerminatorReceiveFilter //BeginEndMarkReceiveFilter //FixedHeaderReceiveFilter //FixedSizeReceiveFilter //CountSpliterReceiveFilter public ReceiveFilter() : base(Encoding.ASCII.GetBytes("#"), Encoding.ASCII.GetBytes("$\r\n")) { } /// 
    /// 经过过滤器,收到的字符串会到这个函数 ///  /// 
    /// 
     public override StringPackageInfo ResolvePackage(IBufferStream bufferStream) { return null; } } }  
  

2、创建EasyClient实例,并使用前一步中创建的ReceiveFilter来初始化它。

using SuperSocket.ClientEngine; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Text; namespace SuperSocketClient.SocketCore { public class ClientAdmin { private EasyClient mClient; ///  /// 构造函数 ///  public ClientAdmin() { mClient = new EasyClient(); // Initialize the client with the receive filter and request handler mClient.Initialize(new ReceiveFilter(), (request) => { // handle the received request Console.WriteLine(request.Key); }); 连接断开事件 //mClient.Closed += ClientClosed; 收到服务器数据事件 //mClient.DataReceived += ClientDataReceived; 连接到服务器事件 //mClient.Connected += ClientConnected; 发生错误的处理 //mClient.Error += ClientError; } void ClientError(object sender, ErrorEventArgs e) { Console.WriteLine(e.Exception.Message); } void ClientConnected(object sender, EventArgs e) { Console.WriteLine("连接成功"); } void ClientDataReceived(object sender, DataEventArgs e) { string msg = Encoding.Default.GetString(e.Data); Console.WriteLine(msg); } void ClientClosed(object sender, EventArgs e) { Console.WriteLine("连接断开"); } ///  /// 连接到服务器 ///  /// IP地址 /// 端口 /// 
    
      连接成功返回真 
     public bool Connect(string strIP, int iPort) { // Connect to the server var rst = mClient.ConnectAsync(new IPEndPoint(IPAddress.Parse(strIP), iPort)); if (rst.Result) { return true; } else { return false; } } ///  /// 连接到服务器 ///  /// IP地址 /// 端口 /// 
      
        连接成功返回真 
       public bool Connect(string strIP, string strPort) { int iPort = Convert.ToInt32(strPort); return Connect(strIP, iPort); } ///  /// 是否连接 ///  /// 
      
        true表示连接 
       public bool IsConnected() { return mClient.IsConnected; } ///  /// 向服务器发命令行协议的数据 ///  /// 命令名称 /// 数据 public void SendCommand(string key, string data) { if (mClient.IsConnected) { byte[] arrBytes = Encoding.Default.GetBytes(string.Format("{0} {1}", key, data)); // Send data to the server mClient.Send(arrBytes); } else { throw new InvalidOperationException("断开连接"); } } } } 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/198599.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午2:50
下一篇 2026年3月26日 下午2:50


相关推荐

  • 计算机网络的分类_计算机网络是怎样分类的

    计算机网络的分类_计算机网络是怎样分类的计算机网络的分类:按照覆盖范围分,计算机网络可以分为局域网(LAN)、城域网(MAN)、和广域网(WAN)。局域网(LAN)是一个高速数据通信系统,它在较小的区域内将若干独立的数据设备连接起来,使

    2022年8月2日
    4
  • vscode 自动保存代码

    vscode 自动保存代码vscode 文件 首选项 设置 setting json 加 files autoSave afterDelay

    2026年3月17日
    2
  • 遍历hashMap的5种方法

    遍历hashMap的5种方法1 使用 Iterator 遍历 HashMapEntry 使用 Iterator 遍历 HashMapKeySe 使用 For each 循环迭代 HashMap4 使用 Lambda 表达式遍历 HashMap5 使用 StreamAPI 遍历 HashMap1 使用 Iterator 遍历 HashMapEntry java tutorials iterations importjava util HashMap import

    2026年3月18日
    2
  • java实现高斯日记[通俗易懂]

    java实现高斯日记[通俗易懂]题目标题:高斯日记大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记上标注着:5343,因…

    2022年4月30日
    45
  • ad服务器搭建与应用,Windows Server 2016 AD服务器搭建的步骤(图文)

    ad服务器搭建与应用,Windows Server 2016 AD服务器搭建的步骤(图文)简介 AD 是 ActiveDirect 的简写 中文称活动目录 活动目录 ActiveDirect 主要提供以下功能 1 服务器及客户端计算机管理 2 用户服务 3 资源管理 4 桌面配置 5 应用系统支撑等准备环境 主机名 IP 地址配置系统 dc1172 16 200 1712c 2u 4 80gWindowsSe 部署步骤一 角色安装 1 打开服务器管理器 添

    2026年3月18日
    1
  • cmakelist 定义变量

    cmakelist 定义变量自定义变量 SET opencv dir mnt d android OpenCV 3 4 8 android sdk 调用 INCLUDE DIRECTORIES opencv dir sdk native jni include SET OpenCV LIB opencv dir sdk native libs arm64 v8a libopencv java3 so 打印出自定义变量 语法 MESSAGE includefolde inc

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号