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
相关推荐
mm_exploration19 天前
halcon激光三角测量(二十一)calibrate_sheet_of_light_calplate
图像处理·3d·halcon·点云处理
lingxiao1688822 天前
Halcon相机标定
halcon·数字图像·图形处理
mm_exploration23 天前
halcon激光三角测量(十七)calibrate_sheet_of_light_3d_calib_object
图像处理·3d·halcon·点云处理
mm_exploration1 个月前
halcon三维点云数据处理(十四)在3D场景中去除背景的三种方式
图像处理·3d·halcon·点云处理
mm_exploration1 个月前
halcon三维点云数据处理(十三)reduce_object_model_3d_by_view
图像处理·3d·halcon·点云处理
光谷码农1 个月前
C#+halcon机器视觉九点标定算法
c#·halcon·机器视觉·标定
机器视觉小小测试员2 个月前
工业相机 SDK 二次开发-Halcon 插件
halcon·工业相机·sdk开发
mm_exploration2 个月前
halcon三维点云数据处理(九)create_shape_model_3d_ignore_part_polarity
图像处理·3d·halcon·点云处理
mm_exploration2 个月前
halcon三维点云数据处理(七)find_shape_model_3d_recompute_score
图像处理·3d·halcon·点云处理
mm_exploration2 个月前
halcon三维点云数据处理(五)创建代表工具和机器人底座的3D模型
图像处理·halcon·点云处理