如何使用python服务器和通用机器人仿真软件作为客户端建立udp连接?

时间:2019-01-25 15:27:18

标签: python udp robotics

我正在使用通用机器人3仿真软件,并希望通过使用外部python服务器来控制在通用机器人仿真软件中创建的虚拟机器人。我已经修改了通用机器人网站上的代码,以建立客户端服务器连接,但收到一条错误消息,指出

send value from server is not a number

并且在c.send命令的python控制台中,我得到警告说明

expected bytes instead of str

如果您能看下面的代码并向我提出任何解决错误的方法,我将不胜感激。请随时指出我在使用python和网络连接时在代码中可能发现的任何错误。谢谢大家。

我尝试使用c.send而不是c.sendall(),也尝试使用c.send(bytearray[200,50,25]),但是仍然在客户端,我得到了指出send number is not a number的错误。请建议我如何解决该错误,以便在建立客户端和服务器之间的通信之后,可以将这三个值发送到通用机器人仿真软件,并可以更改仿真机器人的位置。

 import socket
 import time
 HOST = "192.168.0.100"  # The remote host
 PORT = 30000  # The same port as used by the server
 print ("Starting Program")
 count = 0

while (count < 1000):

 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
 s.bind((HOST, PORT)) # Bind to the port 
 s.listen(5) # Now wait for client connection.
 c, addr = s.accept() # Establish connection with client.

 try:
  msg = c.recv(1024)
  print ("msg")
  time.sleep(1)
  if msg == "asking_for_data":
      count = count + 1
      print ("The count is:", count)
      time.sleep(0.5)
      print ("")
      time.sleep(0.5)
      c.send("(100,50,25)");
      print ("Send 100, 50, 25")

except socket.error as socketerror:
print ("count")

   c.close()
   s.close()

   print ("Program finish")

0 个答案:

没有答案