*最近在TCP连接中遇到Halcon做服务器 无法运行的问题。卡在open_socket_accept这个算子。最终发现少了一个address。
算子参数解释为
The generic parameter ‘address’ can be used to instruct the socket to accept only connection requests addressed to a specific address. This address is specified as either an IPv4 or IPv6 address in numerical form, or a hostname. For example, ‘localhost’ would instruct the socket to accept only connections addressed to the address ‘localhost’, which normally maps to the local loopback network interface ‘127.0.0.1’.
通用参数“地址”可用于指示套接字仅接受寻址到特定地址的连接请求。该地址以数字形式指定为IPv4或IPv6地址,或者主机名。例如,“本地主机”将指示套接字只接受寻址到地址“本地主机”的连接,该地址通常映射到本地环回网络接口“127.0.0.1”。

因此加上服务器的本机地址就可以了。
open_socket_accept (4660, [‘address’,‘protocol’,‘timeout’], [address,Protocol,Timeout], AcceptingSocket)

* ***********************************************************************
*打开另一个例程generic_socket_send.hdev,先运行当前例程,再运行generic_socket_send.hdev
*当前例程是做服务器,generic_socket_send.hdev例程是做客户端.
*本书讲述 不使用generic_socket_send.hdev例程,打开TCP通讯助手软件,设置为客户端,服务器IP地址127.0.0.1 端口4660
*127.0.0.1是本机内部测试使用,与其他电脑或设备连接,需要修改地址
*************************************************************************
* Initialize program  初始化,协议TCP4 Timeout:超时时间 单位秒,36000秒=10小时
Protocol := 'TCP4'
Timeout := 36000
*与外部连接时的静态IP地址(本机),两个设备的IP地址前三位,如:192.168.125相同,第四位不同
* address:='192.168.125.12'
*本机内部连接时的ip地址
address:='127.0.0.1'
*
* Open a listening socket 打开端口4660 10小时内没有打开则返回失败
open_socket_accept (4660, ['address','protocol','timeout'], [address,Protocol,Timeout], AcceptingSocket)
* Strip AddressFamily from Protocl
tuple_regexp_match (Protocol, 'TCP|HALCON', BaseProtocol)
if (BaseProtocol == 'TCP' or BaseProtocol == 'HALCON')* * Wait for an incoming connection, use the timeout of the* AcceptingSocketdev_error_var (Error, 1)dev_set_check ('~give_error')OpenStatus := 5while (OpenStatus != 2)*等待客户端的连接请求socket_accept_connect (AcceptingSocket, 'auto', Socket)OpenStatus := Errorendwhiledev_set_check ('give_error')* * Set the same timeout on the newly created socketset_socket_param (Socket, 'timeout', Timeout)
else* * UDP sockets do not need an accept()Socket := AcceptingSocket
endif
*获取当前客户端IP地址和端口号
get_socket_param (Socket, 'address_info', Address)
*写一个循环来接受数据 发送数据
while(true)
Receive_date := []
*Date_received就是接收到的客户端所发送的数据,'z'是转码格式,转为字符串,保留即可。receive_data (Socket, 'z', Receive_date, From)Date_received := Receive_dateTo := [From[0],From[1]]Format := 'z'stop()
*发送数据给客户端  Date_send:='I have received the message:'+Date_receivedsend_data (Socket, Format, Date_send, To)
endwhile
stop ()
*关闭通讯
close_socket (Socket)
close_socket (AcceptingSocket)

IP地址设置参考
QT串口TCP通讯源码及软件*

Halcon TCP通讯例程(网口通讯)详解相关推荐

  1. Android-Binder进程间通讯机制-多图详解

    本系列: Android-Binder进程间通讯机制-多图详解 一次Binder通信最大可以传输多大的数据?​​​​​​​ 关于Binder (AIDL)的 oneway 机制 概述 最近在学习Bin ...

  2. 工业通讯 | CAN基础内容详解(二)——物理层

    [往期回顾]工业通讯 | CAN基础内容详解(一) 物理层主要完成设备间的信号传送,把各种信号转换成物理信号,并将这些信号传输到其他目标设备.在这一层中,CAN-bus对信号电平.通信时使用的电缆及连 ...

  3. TCP报文段首部格式详解

    TCP首部格式 格式字段详解 源端口.目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以知道是哪两个进程需要 ...

  4. TCP丢包检测技术详解

    TCP丢包检测技术详解 http://www.cctime.com/html/2007-12-6/20071261023151210.htm           2007年12月6日 10:23  中 ...

  5. Halcon矩阵(Matrix)算子详解

    Halcon矩阵(Matrix)算子详解 创建(Creation) create_matrix copy_matrix repeat_matrix clear_matrix 访问(Access) ge ...

  6. 对tcp三次握手的详解之 理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)

    重要 !!!!!!!!!       转载自[怀揣梦想,努力前行] 对tcp三次握手的详解之 理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number) ...

  7. linux网络驱动rtl8211f,RTL8211F在uboot下使用mii工具配置RJ45网口灯详解

    RTL8211F在uboot下使用mii工具配置RJ45网口灯详解. 首先要明确使用这个工具的目的,类似于i2c-test工具测试i2c,使用这个工具验证测试网口灯的配置.然后再通过软件或者驱动来实现 ...

  8. TCP数据包协议格式详解

    出一个专栏把通信协议搞一下吧,万物互联的根本呀. IP 版本4位:4(二进制0100)表示IPv4,6(二进制0110)表示IPv6 报头长度(单位4byte):因为选项长度不确定,取值范围是5-15 ...

  9. 基于51的串行通讯原理及协议详解(uart)

    串行与并行通讯方式 并行:控制简单,传输速度快.线多,长距离成本较高且同时接受困难. 串行:将数据字节分成一位一位的行驶在一条传输线上进行传输.如图: 同步与异步串行通讯方式 同步串行通讯方式:同步通 ...

  10. 网络基础知识-TCP/IP协议各层详解

    TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...

最新文章

  1. 《Nmap渗透测试指南》—第1章1.2节Windows下安装Nmap
  2. Openstack部署总结:“部署过程Error: Local ip for ovs agent must be set when tunneling is enabled”问题...
  3. MapReduce运行原理和过程
  4. InfoComm China 2016“全球新产品发布活动” —— 汇聚众多革新设备及技术
  5. 蜘蛛牌 HDU - 1584(搜索——达到先让某些段先结合,达最优解)
  6. PyTorch框架学习一——PyTorch的安装(CPU版本)
  7. Oracle数据库----视图
  8. Django model select的各种用法详解
  9. 计算机图形学用到哪些概率知识,图形学所需的数学知识
  10. C++ std::vector 自定义排序
  11. 设计与人工智能设计师
  12. Android(安卓)手机变砖复活的三种恢复方法
  13. nsis升级包_NSIS制作软件升级安装包 - 卡饭网
  14. java 数独算法_[Java] 数独生成和求解
  15. 一个网页设计需求方眼中的网页设计
  16. java中echat如何动态_ECharts Java 动态加载数据
  17. xmap 配置php环境,xmap 的动态 - SegmentFault 思否
  18. status 401 reading SysUserService#login(Stri
  19. Python实现图像八大特效(毛玻璃、浮雕、油画、马赛克等)
  20. 使用STC-ISP软件生成定时器初始化函数遇到的问题

热门文章

  1. Android上掌纹识别第一步:基于OpenCV的6种肤色分割 源码和效果图
  2. 教师计算机学情分析模板,学习《信息技术课中的学情分析之浅见》心得体会
  3. 苹果6s解除耳机模式_苹果钉子户,iphone6S到底怎么样?
  4. Kaggle机器学习大师课程
  5. oppo手机忘记手机密码怎么办
  6. Android串口工具
  7. 敲诈团伙将黑手伸向宅男, 你在家看不可描述的视频, 竟被骗走100万美元!
  8. OBS如何配置推流到RTMP流媒体服务直播视频文件直播桌面操作让微信手机端电脑浏览器无插件直播观看
  9. 大学荒废三年,大四自学7个月测试,找到了12K的工作
  10. 给团队带来正能量,避免负能量的产生