zoukankan      html  css  js  c++  java
  • 服务器IO-HPSocket

    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

  • 相关阅读:
    python报错:ERROR: No matching distribution found for dns.resolver
    CVE-2013-4710 WebView addJavascriptInterface远程执行代码
    AndroiBugs Android漏洞扫描器
    如何预测股票分析--线性回归
    如何预测股票分析--移动平均
    Mac升级后如何查看自己的网络端口
    盘它!!一步到位,Tensorflow 2的实战 !!LSTM下的股票预测(附详尽代码及数据集)
    找了好久的塔塔饮料数据集!!!!
    dataset中shuffle()、repeat()、batch()用法
    关于Matplotlib中No module named 'matplotlib.finance'的解决办法
  • 原文地址:https://www.cnblogs.com/byfei/p/14104070.html
Copyright © 2011-2022 走看看