Advertisement
Guest User

Untitled

a guest
May 24th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.53 KB | None | 0 0
  1. .PROGRAM main()
  2. port = 9091
  3. max_length = 255
  4. tout_open = 60
  5. tout_rec = 60
  6.  
  7. CALL open_socket
  8. IF sock_id < 0 THEN
  9. GOTO exit_end
  10. END
  11.  
  12. text_id = 0
  13. tout = 60
  14. eret = 0
  15. rret = 0
  16.  
  17. $sdata[1] = "901"+$CHR(10)
  18.  
  19. $cmd = ""
  20.  
  21. CALL send(eret, "WITAJCIE W KAWASAKI."+$CHR(10))
  22. IF eret < 0 THEN
  23. PRINT "CODE 001 ERROR END Code=", eret
  24. ;GOTO exit
  25. END
  26.  
  27. CALL recv
  28. IF rret < 0 THEN
  29. PRINT "CODE 001 REC ERROR END code=", rret
  30. ;GOTO exit
  31. END
  32.  
  33. ;CALL send(eret, $sdata[1])
  34. CALL send(eret, $cmd)
  35. IF eret < 0 THEN
  36. PRINT "CODE 001 ERROR END Code=", eret
  37. ;GOTO exit
  38. END
  39.  
  40. ;eret = 0
  41. ;$sdata[1]="002"+$CHR(10)
  42. ;CALL send(eret, $sdata[1])
  43. ;IF eret<0 THEN
  44. ; PRINT "CODE 002 ERROR END code=", eret
  45. ; GOTO exit
  46. ;END
  47.  
  48. ;CALL recv
  49. ;IF rret < 0 THEN
  50. ; PRINT "CODE 002 REC ERROR END code=0", rret
  51. ; GOTO exit
  52. ;END
  53.  
  54. exit:
  55. CALL close_socket
  56. exit_end:
  57. .END
  58.  
  59. .PROGRAM open_socket()
  60. er_count = 0
  61. listen:
  62. TCP_LISTEN retl,port
  63. IF retl<0 THEN
  64. IF er_count >= 5 THEN
  65. PRINT "Connection with PC is failed (LISTEN). Program is stopped."
  66. sock_id = -1
  67. goto exit
  68. ELSE
  69. er_count = er_count + 1
  70. PRINT "TCP_LISTEN error=",retl," error count=", er_count
  71. GOTO listen
  72. END
  73. ELSE
  74. PRINT "TCP_LISTEN OK",retl
  75. END
  76. er_count=0
  77. accept:
  78. TCP_ACCEPT sock_id,port,tout_open, ip[1]
  79. IF sock_id<0 THEN
  80. IF er_count >= 5
  81. PRINT "Connection with PC failed (ACCEPT)."
  82. TCP_END_LISTEN ret,port ; ret/retl
  83. sock_id = -1
  84. ELSE
  85. er_count = er_count + 1
  86. PRINT "TCP_ACCEPT error id = ",sock_id," error count=", er_count
  87. GOTO accept
  88. END
  89. ELSE
  90. PRINT "TCP_ACCEPT OK id=", sock_id
  91. END
  92.  
  93. exit:
  94. .END
  95.  
  96.  
  97. .PROGRAM send(.ret, .$data)
  98. $send_buf[1] = .$data
  99. buf_n = 1
  100. .ret = 1
  101. TCP_SEND sret,sock_id,$send_buf[1], buf_n, tout
  102. IF sret < 0 THEN
  103. .ret = -1
  104. PRINT "TPC_SEND error in SEND", sret
  105. ELSE
  106. PRINT "TCP_SEND OK in SEND", sret
  107. END
  108. .END
  109.  
  110. .PROGRAM recv()
  111. .num=0
  112. TCP_RECV rret,sock_id,$recv_buf[1],.num,tout_rec,max_length
  113. IF rret < 0 THEN
  114. PRINT "TCP_RECV error in RECV", rret
  115. $recv_buf[1]="000"
  116. ELSE
  117. IF .num > 0 THEN
  118.  
  119. i = 0
  120.  
  121. PRINT "MESSAGE RECIEVED"
  122.  
  123. $cmd = $DECODE($recv_buf[1],",",0)
  124. PRINT "COMMAND EXCLUDED"
  125. PRINT "KOMENDA: ", $cmd
  126.  
  127. PRINT "BUFFOR: ", $recv_buf[1]
  128. IF $recv_buf[1] == "" GOTO 100
  129.  
  130.  
  131. $trash = $DECODE($recv_buf[1],",",1)
  132. DO
  133. $temp = $DECODE($recv_buf[1],",",0)
  134. PRINT "$TEMP: ", $temp
  135. IF $temp == "" GOTO 100
  136. values[i] = VAL($temp)
  137. IF $recv_buf[1] == "" GOTO 100
  138.  
  139. $temp = $DECODE($recv_buf[1],",",1)
  140. i = i + 1
  141. UNTIL $recv_buf[1] == ""
  142.  
  143. 100 PRINT "END"
  144.  
  145. SCASE $cmd OF
  146. SVALUE "drive":
  147. DRIVE values[0],values[1]
  148. SVALUE "home":
  149. HOME
  150. ANY
  151. PRINT "NIEZNANA KOMENDA"
  152. END
  153.  
  154.  
  155.  
  156. PRINT "TCP_RECV OK in RECV", rret
  157. ELSE
  158. $recv_buf[1]="000"
  159. END
  160. END
  161. .END
  162.  
  163.  
  164. .PROGRAM close_socket()
  165. TCP_CLOSE ret,sock_id
  166. IF ret <0 THEN
  167. PRINT "TCP_CLOSE err ERROR=(",ret,") ", $ERROR(ret)
  168. TCP_CLOSE ret1, sock_id
  169. IF ret1 < 0 THEN
  170. PRINT "TCP_CLOSE error id=", sock_id
  171. END
  172. ELSE
  173. PRINT "TCP_CLOSE OK id=", sock_id
  174. END
  175. TCP_END_LISTEN ret,port
  176. IF ret<0 THEN
  177. PRINT "TCP_CLOSE error"
  178. ELSE
  179. PRINT "TCP_CLOSE OK"
  180. END
  181. .END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement