热点推荐

查看: 3842|回复: 71
收起左侧

[资料] C# 网口通讯类SocketEx.cs 20181029

  [复制链接]
  • TA的每日心情
    开心
    10 小时前
  • 签到天数: 454 天

    连续签到: 21 天

    [LV.9]以坛为家II

    341

    主题

    1218

    帖子

    9891

    积分

    Rank: 9

    积分
    9891

    突出贡献优秀版主荣誉管理论坛元老优质会员最佳新人

    发表于 2017-9-19 09:15:08 | 显示全部楼层 |阅读模式

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
    说明:集成TCP服务端、客户端、UDP发送端、UDP接收端网口通讯类
    演示效果:

    QQ截图20170919092022.png
    加载方式:
    工程解决方案视图中,右键工程名称,添加现有存在项目,加载SocketEx.cs即可
    使用方式:
    1. //添加命名空间引用
    2. using com.szvbt.soft;
    复制代码

    添加对象
    1. private TCPServer m_TcpServer = null;
    复制代码

    然后在类的构造函数中初始化
    1. m_TcpServer = new TCPServer();
    复制代码

    添加功能
    1. m_SockMsg = new TCPServer.SocketCallBack(ReceiveSocketMsg);;
    2. m_TcpServer.InitServer(m_strSocketAddr, Convert.ToInt32(m_strSocketPort), m_SockMsg );
    3. //ShowListLog("Socket服务器已经初始化,等待客户端连接!");
    复制代码

    这里面使用了一个委托用于接收通讯数据,定义如下:
    1. private TCPServer.SocketCallBack  m_SocketMsg;
    复制代码

    接收消息的方法为:

    1. private void ReceiveSocketMsg(byte[] data,int nLength)
    2. {
    3.           string strMsg="";
    4.           //普通数字和字母按ASCII解析,其他按照GB2312编码解析(解决中文乱码问题)
    5.           if (data[1]<0x80 && data[1]!=0x0)
    6.             {
    7.                 strMsg = Encoding.ASCII.GetString(data, 0, nLen);
    8.             }
    9.             else
    10.             {
    11.                 strMsg = Encoding.Default.GetString(data, 0, nLen);
    12.             }
    13. }
    复制代码

    上面的函数里面的功能请自己实现就好,客户端初始化和发送函数一模一样!

    SOCKET调试助手:
    链接:http://pan.baidu.com/s/1bpeMZDl 密码:293d

    20181029 新增UDP通讯协议,带接收和发送端!

    开放下载文件链接:
    链接:https://pan.baidu.com/s/1VKTD3Pd5bzymbqLRgjVz1A 密码:bolm
    无效附件更新 权限提升操作 删帖申请 举报以及其他需要帮助请加入QQ群:214663141 广告位招商 有意者联系
  • TA的每日心情
    难过
    2018-9-1 13:10
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    0

    主题

    9

    帖子

    2177

    积分

    Rank: 6Rank: 6

    积分
    2177
    发表于 2017-11-30 17:19:13 | 显示全部楼层
    很不错的啊

    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

    如何回报帮助你解决问题的坛友,可以以【悬赏】的方式提问,伸手党遭人唾弃,做一个热心并受欢迎的人!

    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    经营性网站备案信息 经营性网站
    备案信息

    中国互联网举报中心 中国互联网
    举报中心

    中国文明网传播文明 中国文明网
    传播文明

    诚信网站

    深圳市市场监督管理局企业主体身份公示 工商网监
    电子标识

    快速回复 返回顶部 返回列表