我正在使用树莓皮制作机器人。我正在寻找一个可以帮助我处理网络内容的库,比如数据包& co。 所以我正在使用此代码来选择我收到的命令:
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.layout, c, from, to, 0);
listview.setAdapter(adapter);
我确信有一个lib可以使用python制作快速服务器和客户端,我想使用UDP因为我将使用的连接非常不稳定,所以tcp是不可能的。
答案 0 :(得分:0)
因为控制机器人依赖于复杂的部件,例如它们有多少条腿,它们有多少关节等等,我认为没有你想要的图书馆。并且python上的连接阶段太简单了,无法创建库。
以下是简单的UDP客户端/服务器代码:
UDP服务器
import socket, traceback
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.bind(('', 5000))
print "Listening for broadcasts..."
while 1:
try:
message, address = s.recvfrom(8192)
print "Got message from %s: %s" % (address, message)
s.sendto("Hello from server", address)
print "Listening for broadcasts..."
except (KeyboardInterrupt, SystemExit):
raise
except:
traceback.print_exc()
UDP客户端
import socket, sys
dest = ('<broadcast>', 5000)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto("Hello from client", dest)
print "Listening for replies."
while 1:
(buf, address) = s.recvfrom(2048)
if not len(buf):
break
print "Received from %s: %s" % (address, buf)
s.sendto("echo", dest)
此外,如果您有复杂的逻辑并需要分成多个可以是通信,控制或I / O的部分,请参考事件驱动的编程:http://etutorials.org/Programming/Python+tutorial/Part+IV+Network+and+Web+Programming/Chapter+19.+Sockets+and+Server-Side+Network+Protocol+Modules/19.3+Event-Driven+Socket+Programs/)