Halcon TCP 服务端接收命令
* 1.创建服务端 ***************************************** 协议
Protocol :=
* 端口
Port := 5321
* 超时
Timeout := 1.0* 打开TCP服务端
open_socket_accept (Port, [[Protocol,Timeout], AcceptingSocket)* 2.循环接受客户端链接 ****************************************
tuple_regexp_match (Protocol,
if (BaseProtocol == dev_error_var (Error, 1)dev_set_check (OpenStatus := 5* 循环等待客户端链接while (OpenStatus socket_accept_connect (AcceptingSocket, OpenStatus := Errorendwhiledev_set_check (* 设置参数--超时set_socket_param (Socket,
elseSocket := AcceptingSocket
endif* 获取TCP连接的信息
get_socket_param (Socket,
* 历史数据
data_hst := []
* 当前接受的数据
Answer := []
* 3.循环获取接收 客户端发送的数据 ****************************************
while (Answer * 接收数据tryFormat:=[receive_data (Socket, Format, Answer, From)catch (Exception)endtry* 数据 是否为空recv_len := |Answer|if(recv_len == 0)continueendif* json_to_dict (Answer, [], [], DictHandle)* 4.返回接受到的数据 ****************************************if (From[1] == 0)Data := elseData := endif* 返回的IP地址与端口To := [From[0],From[1]]Format := * 发送回复命令send_data (Socket, Format, Data, To)* 保存历史命令data_hst := [data_hst, Answer]Answer := []
endwhile