Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .PROGRAM main()
- port = 9091
- max_length = 255
- tout_open = 60
- tout_rec = 60
- CALL open_socket
- IF sock_id < 0 THEN
- GOTO exit_end
- END
- text_id = 0
- tout = 60
- eret = 0
- rret = 0
- $sdata[1] = "901"+$CHR(10)
- $cmd = ""
- CALL send(eret, "WITAJCIE W KAWASAKI."+$CHR(10))
- IF eret < 0 THEN
- PRINT "CODE 001 ERROR END Code=", eret
- ;GOTO exit
- END
- CALL recv
- IF rret < 0 THEN
- PRINT "CODE 001 REC ERROR END code=", rret
- ;GOTO exit
- END
- ;CALL send(eret, $sdata[1])
- CALL send(eret, $cmd)
- IF eret < 0 THEN
- PRINT "CODE 001 ERROR END Code=", eret
- ;GOTO exit
- END
- ;eret = 0
- ;$sdata[1]="002"+$CHR(10)
- ;CALL send(eret, $sdata[1])
- ;IF eret<0 THEN
- ; PRINT "CODE 002 ERROR END code=", eret
- ; GOTO exit
- ;END
- ;CALL recv
- ;IF rret < 0 THEN
- ; PRINT "CODE 002 REC ERROR END code=0", rret
- ; GOTO exit
- ;END
- exit:
- CALL close_socket
- exit_end:
- .END
- .PROGRAM open_socket()
- er_count = 0
- listen:
- TCP_LISTEN retl,port
- IF retl<0 THEN
- IF er_count >= 5 THEN
- PRINT "Connection with PC is failed (LISTEN). Program is stopped."
- sock_id = -1
- goto exit
- ELSE
- er_count = er_count + 1
- PRINT "TCP_LISTEN error=",retl," error count=", er_count
- GOTO listen
- END
- ELSE
- PRINT "TCP_LISTEN OK",retl
- END
- er_count=0
- accept:
- TCP_ACCEPT sock_id,port,tout_open, ip[1]
- IF sock_id<0 THEN
- IF er_count >= 5
- PRINT "Connection with PC failed (ACCEPT)."
- TCP_END_LISTEN ret,port ; ret/retl
- sock_id = -1
- ELSE
- er_count = er_count + 1
- PRINT "TCP_ACCEPT error id = ",sock_id," error count=", er_count
- GOTO accept
- END
- ELSE
- PRINT "TCP_ACCEPT OK id=", sock_id
- END
- exit:
- .END
- .PROGRAM send(.ret, .$data)
- $send_buf[1] = .$data
- buf_n = 1
- .ret = 1
- TCP_SEND sret,sock_id,$send_buf[1], buf_n, tout
- IF sret < 0 THEN
- .ret = -1
- PRINT "TPC_SEND error in SEND", sret
- ELSE
- PRINT "TCP_SEND OK in SEND", sret
- END
- .END
- .PROGRAM recv()
- .num=0
- TCP_RECV rret,sock_id,$recv_buf[1],.num,tout_rec,max_length
- IF rret < 0 THEN
- PRINT "TCP_RECV error in RECV", rret
- $recv_buf[1]="000"
- ELSE
- IF .num > 0 THEN
- i = 0
- PRINT "MESSAGE RECIEVED"
- $cmd = $DECODE($recv_buf[1],",",0)
- PRINT "COMMAND EXCLUDED"
- PRINT "KOMENDA: ", $cmd
- PRINT "BUFFOR: ", $recv_buf[1]
- IF $recv_buf[1] == "" GOTO 100
- $trash = $DECODE($recv_buf[1],",",1)
- DO
- $temp = $DECODE($recv_buf[1],",",0)
- PRINT "$TEMP: ", $temp
- IF $temp == "" GOTO 100
- values[i] = VAL($temp)
- IF $recv_buf[1] == "" GOTO 100
- $temp = $DECODE($recv_buf[1],",",1)
- i = i + 1
- UNTIL $recv_buf[1] == ""
- 100 PRINT "END"
- SCASE $cmd OF
- SVALUE "drive":
- DRIVE values[0],values[1]
- SVALUE "home":
- HOME
- ANY
- PRINT "NIEZNANA KOMENDA"
- END
- PRINT "TCP_RECV OK in RECV", rret
- ELSE
- $recv_buf[1]="000"
- END
- END
- .END
- .PROGRAM close_socket()
- TCP_CLOSE ret,sock_id
- IF ret <0 THEN
- PRINT "TCP_CLOSE err ERROR=(",ret,") ", $ERROR(ret)
- TCP_CLOSE ret1, sock_id
- IF ret1 < 0 THEN
- PRINT "TCP_CLOSE error id=", sock_id
- END
- ELSE
- PRINT "TCP_CLOSE OK id=", sock_id
- END
- TCP_END_LISTEN ret,port
- IF ret<0 THEN
- PRINT "TCP_CLOSE error"
- ELSE
- PRINT "TCP_CLOSE OK"
- END
- .END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement