HP-Socket是一套通用的高性能TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的TCP/UDP/HTTP通信系统,提供C/C++、C#、Delphi、E(易语言)、Java、Python等编程语言接口。HP-Socket对通信层完全封装,应用程序不必关注通信层的任何细节;HP-Socket提供基于事件通知模型的API接口,能非常简单高效地整合到新旧应用程序中。 [1] 
为了让使用者能方便快速地学习和使用HP-Socket,迅速掌握框架的设计思想和使用方法,特此精心制作了大量Demo示例(如:PUSH模型示例、PULL模型示例、PACK模型示例、性能测试示例以及其它编程语言示例)。HP-Socket当前支持Windows和Linux平台。 [1]

这里只讲下大概思路
客户端
1、创建 TcpPackClient 对象
2、绑定事件,TcpPackClient  共有5个事件要处理,OnPrepareConnect(开始连接前触发),OnConnect(连接成功后触发),OnSend(发送消息后触发),OnReceive(收到消息后触发),OnClose(连接关闭后触发)
3、设置包头标识和包体长度,需要注意的是,客户端和服务端的包头标识要相同才能通信
4、完成相关事件的事件处理方法,需要注意的是,所有的事件处理方法都是在非UI线程调用,所以不能在事件处理方法中直接更新UI,需要用到委托,还有就是不能在事件处理方法中调用Start()和Stop()方法
5、调用 client.Conncet(ip, port, checkBoxAsyncConn.Checked) 方法连接服务器(需要服务端先开启)
6、调用 client.Send(sendBytes, sendBytes.Length) 方法发送数据
7、调用 client.Stop() 方法断开连接
服务端
1、创建 TcpPackServer 对象
2、绑定事件,TcpPackServer 共有6个事件要处理,OnPrepareListen(绑定监听地址前触发),OnAccept(客户端连接请求被接受后触发),OnSend(发送消息后触发),OnReceive(收到消息后触发),OnClose(某个客户端连接关闭后触发),OnShutdown(服务端组件停止后触发)
3、设置包头标识和包体长度,需要注意的是,客户端和服务端的包头标识要相同才能通信
4、完成相关事件的事件处理方法,需要注意的是,所有的事件处理方法都是在非UI线程调用,所以不能在事件处理方法中直接更新UI,需要用到委托,还有就是不能在事件处理方法中调用Start()和Stop()方法
5、调用 server.Start() 方法启动服务端
6、调用 server.Send(connId, sendBytes, sendBytes.Length) 方法发送数据
7、调用 server.Stop() 方法停止服务端
https://my.oschina.net/u/4362933/blog/3512288
https://www.oschina.net/p/hp-socket

服务器IO-HPSocket相关推荐

  1. mysql io 100_MySQL服务器 IO 100%的分析与优化方案

    压力测试过程中,如果因为资源使用瓶颈等问题引发最直接性能问题是业务交易响应时间偏大,TPS逐渐降低等.而问题定位分析通常情况下,最优先排查的是监控服务器资源利用率,例如先用TOP 或者nmon等查看C ...

  2. mysql io_MySQL服务器 IO 100%的分析与优化方案

    前言 压力测试过程中,如果因为资源使用瓶颈等问题引发最直接性能问题是业务交易响应时间偏大,TPS逐渐降低等.而问题定位分析通常情况下,最优先排查的是监控服务器资源利用率,例如先用TOP 或者nmon等 ...

  3. Oracle数据库服务器IO高的分析方案和案例探讨

    Oracle数据库服务器IO高的分析方案和案例探讨 本文原题<ORACLE数据库服务器IO高的分析方案和案例探讨> 目录: 慧眼识珠--服务器磁盘这么繁忙,到底是谁干的? 谨记于心--OR ...

  4. 服务器io读写较高怎么办?

    服务器io过高可能会导致等待时间较长,影响使用体验,那我们应该如何去检查服务器的读写性能呢? 一.通过 top 命令查看wa指标. 如果服务器的wa很高,那么说明CPU等待磁盘写入完成的时间很长,持续 ...

  5. 高性能服务器io函数,操作系统中的I/O,及高性能IO模型

    I/O(Input/Output)输入输出,总体图 一.操作系统与设备之间的IO 简单来说(详细的请看<现代操作系统>),操作系统通过设备驱动程序访问IO设备.方式有: (1)轮询方式: ...

  6. iostat查看服务器io

    iostat 查看服务器实时io 说明: cpu属性值说明: %user:CPU处在用户模式下的时间百分比.%nice:CPU处在带NICE值的用户模式下的时间百分比.%system:CPU处在系统模 ...

  7. mysql io 100_MySQL服务器 IO 100%的案例分析

    [问题] 有台MySQL 5.6.21的数据库实例以写入为主,IO %util接近100% 写入IOPS很高 [分析过程] 1.通过iotop工具可以看到当前IO消耗最高的mysql线程 2.查看线程 ...

  8. mysql服务器io等待高定位与分析

    这两天发现公司好几台阿里云ECS上的mysql生产服务器繁忙期间io等待高达百分之二三十(估计九成是没有write back),而且确定是mysql进程产生,由于跑的应用过多,开发和维护无法直接确定哪 ...

  9. 服务器io测试工具-fio

    Fio 是一个 I/O 工具,旨在用于基准测试和压力/硬件验证.它支持 19 种不同类型的 I/O 引擎(sync.mmap.libaio.posixaio.SG v3.splice.null.net ...

  10. 服务器io性能指标,性能测试中服务器关键性能指标浅析

    在对互联网服务进行服务端性能测试时,主要关注两方面的性能指标: 业务指标:如吞吐量(QPS.TPS).响应时间(RT).并发数.业务成功率等 资源指标:如CPU.内存.Disk I/O.Network ...

最新文章

  1. mongodb分片介绍—— 基于范围(数值型)的分片 或者 基于哈希的分片
  2. [Python爬虫] scrapy爬虫系列 一.安装及入门介绍
  3. 运行时数据区内部结构
  4. 通过修改explorer.exe内存隐藏文件及注册表项
  5. Vue-cli(四) 项目中引入Axios
  6. JVM内存划分、Linux用户态、内核态简介
  7. 直接插入排序(C语言)实现
  8. 随想录(zynq学习)
  9. 人工智能运行环境linux,Intel OpenVINO 人工智能推论环境搭建 (Linux) 第一章
  10. win10下载java软件,下载适用于Windows 10的最新Java版本[32位,64位]
  11. 存储过程和触发器-LOGON/LOGOFF触发器
  12. 这个儿童节,我们和小时候有什么区别?
  13. Gnome美化以Mac风格为例
  14. xmm1是什么器件_电路基础9第九章.ppt
  15. php抓包腾讯大王卡token,【免流】腾讯大王卡变色龙自动抓包
  16. GY-US42超声波传感器模块介绍
  17. DM368开发 -- 文件烧写
  18. 没错是你想知道的——人工智能学习方向
  19. Windows 10 系统设置系统环境变量和用户环境变量
  20. 明日之后哪个服务器最多主播,明日之后:哪个区实力最强?这个区能跟秋日对打...

热门文章

  1. python爬股票历史价格_【Python】利用ricequant获取上证指数以及所有股票历史价格数据...
  2. linux系统svn安装教程,Linux下SVN安装配置
  3. python操作cad的模块_利用python控制Autocad:pyautocad方式
  4. deepspeech 1 (百度 2014 论文解读)
  5. C#调用阿里云短信接口
  6. 【Markdown】希腊字母表
  7. smb协议讲解_SMB/CIFS协议解析一概述
  8. LoRa网关与服务器通信——PROTOCOL
  9. 获取手机屏幕的宽高 html,js获取手机屏幕宽度、高度
  10. MyBatis缓存机制详解