本项中机器人做客户端,PC做服务端。

*CREATE
V332% = 0
Dim Port AS INTEGER				'定义局部自定义整数变量,PC分配给机器人的端口号
Dim IpAdd AS INTEGER			'定义局部自定义整数变量,PC的IP末未
IpAdd = 2						'赋值
Port = 126
V2$ = "创建套接字"
FOR L100% = 0 TO 3 STEP 1		'尝试连接PC次数=4,4次都失败则关闭通讯
  SOCKCREATE 3,0	'Socket#1 & TCP/IP
  IF E1%>=0 THEN *CONNECT		'通讯OK,进行跳转
  V1$ = "套接字创建失败"
  PAUSE 1000
NEXT
V1$ = "套接字创建错误"
GOTO *ERROR
'***** Socket Connect *****"
*CONNECT
V1$ = ""
V2$ = "连接服务器"
SOCKCONNECT 3,IpAdd,Port,20
IF E1%>=0 THEN *DLINK_PROC
V1$ = "连接失败"
V108% = E1%
V109% = E2%
GOTO *ERROR
*DLINK_PROC
V1$=""
V2$ = "连接服务器OK"
'************************
*RCVMAIM
V30$="T"
'************************
IF V332%=0
GOTO *RCVMAIM
ENDIF
V332%=0
V1$ = "SEND"
SOCKSENDSTR 3,V30$,LEN(V30$),0,V155%,3	'向PC发送'T',触发拍照
IF E1% <= 0 THEN *ERROR
V2$ = "SENDok"
V1$ = "RECV"
SOCKRECV 3,1,0,0,V152%
IF E1%<0 THEN *ERROR
V2$ = "RECVOK"   
GETSTR 1,V5$,0,V152%
V31!=VAL(MID$(V5$,1,8))       'GETPOINT-X-SHIFT,相机的X偏移量
V32!=VAL(MID$(V5$,9,8))       'GETPOINT-Y-SHIFT,相机的Y偏移量
V323!=0
'R1 = (V31!-1.3,V32!+0.3,0,0,0,V33!)
PAUSE 300
V331% = 1
V1$ = "END"
GOTO *RCVMAIM
END
*ERROR
V2$=V1$+"Fail!!!"+"E1%="+STR$(E1%)+","+"E2%="+STR$(E2%)		'报错时,显示报错信息
PAUSE 10
V108%=E1%
V109%=E2%
SOCKCLOSE 3
*END
EXIT

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐