首页 > 其他分享 >SuperSocket 客户端

SuperSocket 客户端

时间:2024-07-11 11:30:06浏览次数:12  
标签:Console SuperSocket ClientEngine client Write Client 客户端

通过NuGet来安装SuperSocket客户端,SuperSocket.ClientEngine

实现代码如下:

public partial class MainPage : Page
{
    SuperSocket.ClientEngine.AsyncTcpSession client = null;
    public MainPage()
    {
        InitializeComponent();
        DataContext = ViewModel.MainWindowViewModel.CreateInstance();
        client = new SuperSocket.ClientEngine.AsyncTcpSession();
        //连接到服务器事件
        client.Connected += Client_Connected;
        //连接断开事件
        client.Closed += Client_Closed;
        //发生错误的处理
        client.Error += Client_Error;
        //收到服务器数据事件:注意 接收消息每次接收4096字节【4KB】,
        //如果发送的消息大于4096字节,将分多段发送,也就是触发多次DataReceived事件
        client.DataReceived += DataReceived;
    }
    private void Client_Connected(object sender, EventArgs e)
    {
        if (client.IsConnected)
        {
            Console.Write("连接成功");
        }
    }
    private void Client_Error(object sender, SuperSocket.ClientEngine.ErrorEventArgs e)
    {
        Console.Write($"错误事件触发:{e.Exception.Message}");
    }

    private void Client_Closed(object sender, EventArgs e)
    {
        Console.Write("连接断开");
    }
    private void DataReceived(object sender, SuperSocket.ClientEngine.DataEventArgs e)
    {
        Console.Write($"接收到消息【length:{e.Length}】:{Encoding.Default.GetString(e.Data, e.Offset, e.Length)}");
    }
    /// <summary>
    /// 发送消息
    /// </summary>
    /// <param name="message"></param>
    private void Send(string message)
    {
        if (!client.IsConnected)
        {
            Console.Write("尚未连接到服务端,无法发送...");
            return;
        }
        byte[] data = Encoding.Default.GetBytes(message);
        client.Send(data, 0, data.Length);
    }
}

 

标签:Console,SuperSocket,ClientEngine,client,Write,Client,客户端
From: https://www.cnblogs.com/microsoft-zh/p/18295757

相关文章

  • Ollama完整教程:本地LLM管理、WebUI对话、Python/Java客户端API应用
    老牛同学在前面有关大模型应用的文章中,多次使用了Ollama来管理和部署本地大模型(包括:Qwen2、Llama3、Phi3、Gemma2等),但对Ollama这个非常方便管理本地大模型的软件的介绍却很少。目前,清华和智谱AI联合发布开源的GLM4-9B大模型也能支持Ollama进行本地部署了(本地部署GLM-4-9B清华......
  • 【ROS2】中级-编写动作服务器和客户端(C++)
    目标:用C++实现一个动作服务器和客户端。教程级别:中级 时间:15分钟 目录 背景 先决条件 任务1.创建custom_action_cpp包2.编写动作服务器3.编写动作客户端 摘要 相关内容 背景动作是ROS中异步通信的一种形式。动作客户端向动作服务器发送目标请求。动作......
  • redis:常用客户端命令(redis-cli)
    一,查看redis所有配置使用命令:CONFIGGET*例:127.0.0.1:6379>CONFIGGET*1)"cluster-announce-bus-port"2)"0"3)"syslog-ident"4)"redis"5)"enable-module-command"6)"no"7)"mi......
  • 多线程网络实战之仿qq群聊的服务器和客户端
    目录一、前言二、设计需求1.服务器需求 2.客户端需求三、服务端设计1.项目准备 2.初始化网络库3.SOCKET创建服务器套接字4. bind绑定套接字 5.listen监听套接字 6.accept接受客户端连接7.建立套接字数组8.建立多线程与客户端通信9.处理线程函数,收消息......
  • Kindle电子书_使用Calibre给kindle远程传书的两种方式:网页浏览器与KOreader客户端传书
    因为想使用KOreader的无框架模式,不用看书看着看着就重启KOreader,所以打算找找有什么办法使用KOreader无线传书。查到具体办法之后顺便写一下在非越狱的kindle上使用自带浏览器配合Calibre传书的方法。使用网页浏览器点击Calibre的连接/共享中的“启动内容服务器”的选项,稍作等......
  • STM32封装ESP8266一键配置函数:实现AP模式和STA模式切换、服务器与客户端创建
    鱼弦:公众号【红尘灯塔】,CSDN博客专家、内容合伙人、新星导师、全栈领域优质创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)STM32封装ESP8266一键配置函数:实现AP模式和STA模式切换、服务器与客户端创建......
  • spring cloud 上云的情况下,Ribbon 客户端负载均衡 与 ALB 服务端负载均衡的选择
    在云环境(例如AWS)中,由于云提供商通常提供强大的负载均衡服务(如AWS的ALB),一般不再需要使用Ribbon这种客户端负载均衡方案。云环境中的负载均衡器通常能够提供更高的可靠性、可扩展性和简化的配置,因此在上云的情况下,使用云提供的负载均衡器是更优的选择。理由分析云提供的负载均衡......
  • springboot 中推荐使用哪些比较好的 web 客户端 SDK
    在SpringBoot中,有几种常用和推荐的Web客户端SDK,可以用于与RESTful或其他类型的Web服务进行交互。1.SpringWebClientSpringWebClient是Spring5中引入的非阻塞、响应式的Web客户端,推荐用于现代SpringBoot应用。特点响应式编程:支持响应式编程模型,适用于需......
  • 在SelfHost项目中获取客户端IP地址
    在SelfHost项目中,获取客户端的IP地址比OwinSelfHost项目要复杂一些,可以通过以下方法获得:base.Request.Properties["System.ServiceModel.Channels.RemoteEndpointMessageProperty"].Address创建一个SelfHost项目的大概过程:创建名称为SelfHostSample的Windows窗体应用(.NETF......
  • 在OwinSelfHost项目中获取客户端IP地址
    在OwinSelfHost项目中,获取客户端的IP地址可以通过以下方法获得:base.Request.GetOwinContext().Request.RemoteIpAddress创建一个OwinSelfHost项目的大概过程:创建名称为OwinSelfHostSample的Windows窗体应用(.NETFramework)项目;在NuGet包管理器中添加中添加Microsoft.AspNe......