Python:如何清除udp socket中的缓冲区

时间:2014-02-17 16:52:55

标签: python udp raspberry-pi python-sockets

通过以太网端口eth0在计算机和RPi之间发送/接收

在Raspberry Pi上,我运行此代码

#!/usr/bin/python
import socket
import sys
import time

while 1 : 
    ###create dgram udp socket
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    except socket.error:
        print 'Failed to create socket'
        sys.exit()

    host = '192.168.10.30';
    port = 3000;
    hello = "Hello Computer"

    ###send hello to computer
    time.sleep(1)
    s.sendto(hello ,(host , port))

    ###receive replied message from computer
    d = s.recvfrom(1024)
    msg = d[0]
    addr2 = d[1]

    ###Start talking to computer
    try :
        msg = raw_input("RPi say to com :")
        time.sleep(1.5)    
        ###send data to computer
        s.sendto(msg, (host, port))
    except socket.error, msg:
        print 'Error Code : ' + str(msg[0]) + ' Message ' + msg[1] s.close()

将数据发送到计算机后,RPi可以发送没问题

但我继续发送。它显示错误

“绑定失败。错误代码98消息地址已在使用中”

我尝试将端口(上面的参数)从3000更改为3001(或其他)

所以它可以运行没问题。什么时候发送。它再次显示错误。

我必须一直改变端口。但我不想这样做

我想清除端口

我该怎么做?

0 个答案:

没有答案