概念

HP-Socket 是国产的TCP、UDP和HTTP 通信框架,包含服务端、客户端和 Agent 组件,提供 C/C++、C#、Java、Python 等多种编程语言接口。
与传统TCP通讯区别的是HP-Socket 对通信层做到了完全封装,程序不必关注通信层的任何细节;HP-Socket提供基于事件通知模型的 API 接口,能简单高效地整合到新旧应用程序中。

示例

        TcpServer hpServer;bool tcp1State = false;public Form1(){InitializeComponent();}enum PlcPort{Op1 = 4000,}private void Form1_Load(object sender, EventArgs e){hpServer = new TcpServer();hpServer.OnPrepareListen += OnPrepareListen;hpServer.OnAccept += OnAccept; //连接事件hpServer.OnClose += OnClose;   //断开连接事件hpServer.OnReceive += OnReceive;// 接收数据hpServer.OnSend += OnSend;// 发送数据hpServer.Address = "127.0.0.1";// 设置服务端IPhpServer.Port = Convert.ToUInt16(PlcPort.Op1);// 设置端口hpServer.SendPolicy = SendPolicy.Direct;hpServer.Start();ReportMsg("服务端已开启并监听");}private HandleResult OnPrepareListen(IServer sender, IntPtr listen){return HandleResult.Ok;}private HandleResult OnAccept(IServer sender, IntPtr connId, IntPtr client){// 获取客户端地址if (!sender.GetRemoteAddress(connId, out var ip, out var port)){return HandleResult.Error;}return HandleResult.Ok;}//服务器收到数据private HandleResult OnReceive(IServer sender, IntPtr connId, byte[] data){try{                return HandleResult.Ok;}catch (Exception){return HandleResult.Ignore;}}private HandleResult OnSend(IServer sender, IntPtr connId, byte[] data){try{return HandleResult.Ok;}catch (Exception){return HandleResult.Ignore;}}//服务器关闭连接private HandleResult OnClose(IServer sender, IntPtr connId, SocketOperation socketOperation, int errorCode){return HandleResult.Ok;}//服务器关闭private HandleResult OnShutdown(IServer sender){return HandleResult.Ok;}

C#中HP-Socket通信组件详解相关推荐

  1. TCP及socket通信原理详解

    TCP/IP原型 DARPA一个项目,逐渐演变而来的. 端口号 0~1023:管理员才有权限使用,永久地分配给某应用使用: 注册端口: 1024~41951:只有一部分被注册,分配原则上非特别严格: ...

  2. Unity中的Camera相机组件详解

    [组件界面] [前言] 本文介绍的是使用Unity默认的内置渲染管线下的Camera组件,使用URP或HDRP则不同. [属性] Clear Flags:清除标记.每个相机在渲染其视图时都会存储颜色和 ...

  3. 第十三章、Designer中的按钮Buttons组件详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 Qt Designer中的Buttons部件包括Push Button(常规按钮.一般称按 ...

  4. Android中的四大组件详解

    Android中的四大组件详解 我们都知道Android系统应用层框架中,为开发者提供了四大组件来便于应用的开发,它们是Activity.Service.BroadcastReceiver.Conte ...

  5. android c++ socket编程,C++ 中 socket编程实例详解

    C++ 中 socket编程实例详解 sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW):基于TCP的soc ...

  6. java jtable组件_java中jtable组件详解实例

    java中jtable组件详解实例 java 表格控件 JTable 常用操作详解 JTable 是 Swing 编程中很常用的控件,这里总结了一些常用方法以备查阅.欢迎补充,转载请注明作者与出处.一 ...

  7. php中socket的使用,php中socket的用法详解,phpsocket详解_PHP教程

    php中socket的用法详解,phpsocket详解 本文实例详细讲述了php中socket的用法,分享给大家供大家参考.具体用法如下: 一.开启socket phpinfo();查看是否开启了so ...

  8. Android笔记——四大组件详解与总结

    android四大组件分别为activity.service.content provider.broadcast receiver. -------------------------------- ...

  9. C#Socket开发TCP详解(二)

    文章目录 C#Socket开发TCP详解(二)--面向连接的套接字编程 简介: **面向连接的套接字** 1.建立连接 2.发送和接收消息 3.关闭连接 C#Socket开发TCP详解(二)–面向连接 ...

最新文章

  1. Servlet学习-request
  2. nginc+memcache
  3. Linux下常用文本处理命令
  4. Oracle 10.2.0.5升级至11.2.0.4
  5. 禁止“挖矿”!谷歌杀了所有的 Chrome 扩展应用
  6. flink的watermark简单理解
  7. MTK:串口学习和代码调试
  8. python 安装matlab,python – Anaconda在Linux上安装Matlab Engine
  9. 问题十八:怎么对ray tracing图形进行消锯齿
  10. 【面经】来啦!百度凤巢算法面经
  11. Ubuntu 64-bit下搭建 Apache 2、PHP5、MySQL、GO Web服务器
  12. java 判断double是否为整数_java 中如何判断输入的是int还是double
  13. calib matlab,使用Matlab Toolbox_calib进行摄像机标定
  14. 数据库设计 资源表与资源收藏表的设计
  15. 解决打开WORD时提示的:“无法复制文件:无法读源文件或磁盘”
  16. grammarly word安装失败
  17. js处理ISO8601时间
  18. 巧学活用html4,新人教英语巧学活用必修一.docx
  19. excel处理几十万行数据_EXCEL的重生!处理百万行数据竟如此简单
  20. 三天学会网络爬虫之Day03

热门文章

  1. Robotics: Aerial Robotics(空中机器人)笔记(二):如何设计一架四旋翼无人机
  2. 【设计模式】模板模式实现报表模板
  3. 刚刚,谷歌翻车了。。。
  4. 谷歌 发布android 8,谷歌推出了Android 8.1 预计在12月发布正式版
  5. 老雷:思儿壮志小诗一首(老爸写得都比我好,让我这个文艺青年情何以堪)(家人对幸福美好生活的追求,就是我的奋斗目标)
  6. ADS(Advanced Design System)2015安装破解教程,做给女朋友的,傻瓜式
  7. matlab矩阵转置中.'和'的不同
  8. 计算机专业实训设备介绍,计算机专业实训场所及主要设备清单.docx
  9. BarTender安装不出现激活页面
  10. 数字电路基础知识|时钟和时序