Python 用于向ip地址发送1字节字符的按钮

Python 用于向ip地址发送1字节字符的按钮,python,ip,Python,Ip,我是python新手,我正在寻找一种将1字节字符(例如:字母“D”)发送到ip地址的方法。这是用来控制机器人的,所以我只需要向前、向后、向左和向右。我在网上做了一些研究,建议使用套接字连接到ip地址,但我觉得这有点困惑。我已经在我的网页上做了4个按钮,但我不太确定当用户点击按钮时,如何让网页向ip地址发送信号(例如:如果用户按下“右”按钮,网页将向ip地址发送一个单字节字符“r”) 任何帮助都将不胜感激 ps:我使用的联网方法有什么大的不同吗?wifi和3G之间的连接非常容易,尤其是在Pytho

我是python新手,我正在寻找一种将1字节字符(例如:字母“D”)发送到ip地址的方法。这是用来控制机器人的,所以我只需要向前、向后、向左和向右。我在网上做了一些研究,建议使用套接字连接到ip地址,但我觉得这有点困惑。我已经在我的网页上做了4个按钮,但我不太确定当用户点击按钮时,如何让网页向ip地址发送信号(例如:如果用户按下“右”按钮,网页将向ip地址发送一个单字节字符“r”)

任何帮助都将不胜感激


ps:我使用的联网方法有什么大的不同吗?wifi和3G之间的连接非常容易,尤其是在Python中!)

这是一个向某个ip地址发送一封信的简单程序:

import socket

# Each address on the Internet is identified by an ip-address
# and a port number.
robot_ip_address = "192.168.0.12"  # Change to applicable
robot_port       = 3000            # Change to applicable

# Create a socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Connect to somewhere...
s.connect((robot_ip_address, robot_port))

# Send one character to the socket
s.send('D')

# Close the socket after use
s.close()
当然,机器人需要一个类似的程序来接收命令:

import socket

robot_port = 3000  # Change to applicable

# Create a socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# "Bind" it to all ip-addresses on the local host, and a specific port
s.bind(("", robot_port))

# Tell the socket to listen for connections
s.listen(5)

while True:
    # Wait for a new connection
    print "Waiting for connection..."
    (c, c_addr) = s.accept()

    print "New connection from: ", c_addr

    while True:
        try:
            command = c.recv(1)
        except socket.error, e:
            print "Error: %r" % e
            break;

        if command == 'D':
            # Do something for the 'D' command
            print "Received command 'D'"
        elif command == '':
            print "Connection closed"
            break
        else:
            print "Unknown command, closing connection"
            break

    c.close()
正如您所看到的,要编写和理解的代码非常少。您不必真正了解网络和TCP/IP的大部分工作原理,只需使用套接字通过Internet进行通信即可。:)

复制第一个程序,每个按钮一个,并修改发送到服务器的内容。然后你有四个程序发送不同的命令,连接到你的按钮


阅读更多关于Python套接字的内容,.

忘了提到我将使用tcp/ip作为客户端。目前还不清楚这与Python有什么关系。您正在使用Python web框架。如果是这样的话,请指定这是哪个框架-它可能是相关的。我正在制作一个网页,我只是在考虑使用python,但任何语言都适合我。现在还不必为网页操心-首先直接从命令行让它工作,然后担心前端。