Halcon TCP 服务端接收命令

Halcon TCP 服务端接收命令

vbnet 复制代码
* 1.创建服务端 ****************************************

* 协议
Protocol := 'TCP4'
* 端口
Port := 5321
* 超时
Timeout := 1.0

* 打开TCP服务端
open_socket_accept (Port, ['protocol', 'timeout'], \
                    [Protocol,Timeout], AcceptingSocket)

* 2.循环接受客户端链接 ****************************************
tuple_regexp_match (Protocol, 'TCP', BaseProtocol)
if (BaseProtocol == 'TCP')
    dev_error_var (Error, 1)
    dev_set_check ('~give_error')
    
    OpenStatus := 5
    * 循环等待客户端链接
    while (OpenStatus != 2)
        socket_accept_connect (AcceptingSocket, 'auto', Socket)
        OpenStatus := Error
    endwhile
    
    dev_set_check ('give_error')

    * 设置参数--超时
    set_socket_param (Socket, 'timeout', Timeout)
else
    Socket := AcceptingSocket
endif

* 获取TCP连接的信息
get_socket_param (Socket, 'address_info', Address)
* 历史数据
data_hst := []
* 当前接受的数据
Answer := []
* 3.循环获取接收 客户端发送的数据 ****************************************
while (Answer != 'End')
    * 接收数据
    try
        Format:=['z']
        receive_data (Socket, Format, Answer, From)
    catch (Exception)
    endtry
    
    * 数据 是否为空
    recv_len := |Answer|
    if(recv_len == 0)
        continue
    endif
    
*     json_to_dict (Answer, [], [], DictHandle)
    
    * 4.返回接受到的数据 ****************************************
    if (From[1] == 0)
        Data := '' + Answer[1]
    else
        Data := '' + Answer
    endif
    
    * 返回的IP地址与端口
    To := [From[0],From[1]]
    Format := 'z'
    * 发送回复命令
    send_data (Socket, Format, Data, To)
    * 保存历史命令
    data_hst := [data_hst, Answer]
    Answer := []
endwhile
相关推荐
Crazy Struggle21 天前
C# 工业视觉开发必刷20道 Halcon 面试题
c#·自动化·halcon
MechMaster1 个月前
对三维物体模型的阈值操作
halcon
爱凤的小光1 个月前
reconstruct_3d_object_model_for_matching例子
3d·halcon
mm_exploration2 个月前
halcon机器人视觉(四)calibrate_hand_eye_stationary_3d_sensor
3d·机器人·halcon·点云处理
mm_exploration2 个月前
halcon激光三角测量(二十一)calibrate_sheet_of_light_calplate
图像处理·3d·halcon·点云处理
lingxiao168882 个月前
Halcon相机标定
halcon·数字图像·图形处理
mm_exploration2 个月前
halcon激光三角测量(十七)calibrate_sheet_of_light_3d_calib_object
图像处理·3d·halcon·点云处理
mm_exploration3 个月前
halcon三维点云数据处理(十四)在3D场景中去除背景的三种方式
图像处理·3d·halcon·点云处理
mm_exploration3 个月前
halcon三维点云数据处理(十三)reduce_object_model_3d_by_view
图像处理·3d·halcon·点云处理
光谷码农3 个月前
C#+halcon机器视觉九点标定算法
c#·halcon·机器视觉·标定