Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 单向UDP通信_Python_Sockets_Udp - Fatal编程技术网

Python 单向UDP通信

Python 单向UDP通信,python,sockets,udp,Python,Sockets,Udp,我正在尝试在我的两台计算机(1和2)之间建立UDP连接。 我成功地建立了UDP连接,其中计算机1是客户端(“发送”),计算机2是服务器(“接收”) 现在我正试图做相反的事情:我希望计算机2是客户端,计算机1是服务器。我使用的程序与我以前编写的程序相同,但是不起作用 当我使用Wireshark时,我可以看到从Computer2发送的消息,但是python没有接收它们 有什么想法吗 这是我的密码: 客户: import socket IP_robot = '127.0.0.1' port_r

我正在尝试在我的两台计算机(1和2)之间建立UDP连接。 我成功地建立了UDP连接,其中计算机1是客户端(“发送”),计算机2是服务器(“接收”)

现在我正试图做相反的事情:我希望计算机2是客户端,计算机1是服务器。我使用的程序与我以前编写的程序相同,但是不起作用

当我使用Wireshark时,我可以看到从Computer2发送的消息,但是python没有接收它们

有什么想法吗

这是我的密码:

客户:

import socket

IP_robot    = '127.0.0.1'
port_robot  = 8830

def send_data(V,IP,port):
    my_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    my_socket.connect((IP,port))

    MESSAGE=str(V)
    my_socket.send(MESSAGE)

    my_socket.close

V="123456"
send_data(V,IP_robot,port_robot)
在我的程序中,IP_robot是服务器的IP

服务器:

import socket

IP_commands = "0.0.0.0"
port_commands = 8830

sock = socket.socket(socket.AF_INET, # Internet
                     socket.SOCK_DGRAM) # UDP
sock.bind((IP_commands, port_commands))

while True:
    data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes 
    print data
编辑:
我已经尝试使用TCP,但它仍然不起作用。我的一台计算机似乎拒绝接收python中的消息。。。有任何建议吗?

可能端口8830在计算机2上打开,但在计算机1上关闭?调用
sock.bind
时是否引发异常?你试过使用其他端口吗?可能使用特定地址而不是“绑定到所有”0.0.0.0烟雾:谢谢你的回答。。。我已经检查了一些其他端口,但它仍然不工作,所以我认为这不是问题所在…尝试解决简单的问题:当我运行程序时,它不会引发异常。我尝试使用特定地址,但它抛出:“return getattr(self._sock,name)(*args)socket.error:[Errno 10049]请求的地址在其上下文“8”中无效-(如果已启用防火墙,请尝试禁用计算机1上的防火墙。