使用 Python,是否可以在本地主机和某个端口上发送 UDP 数据,然后在同一个程序中同时监听本地主机上的不同端口?我不断收到错误 48'address already in use' 并尝试使用 python 的重用地址,尽管我很确定它无论如何都不适用于此应用程序。
背景:我对软件开发一无所知,更不用说Python了,这只是有人在工作中要求的。
我很感激任何帮助。
from threading import Thread
import time
import socket
HOST = 'localhost'
PORT = 5455
PORT1 = 5457
data1 = "1"
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((HOST,PORT1))
a = 0
def myfunction(string, *args):
while 1:
cmd = int( raw_input("send message: ") )
if (cmd == 1):
s.sendto(data1, (HOST,PORT))
time.sleep(1)
def myfunction2(string, *args):
while 1:
print s.recv(30)
time.sleep(.5)
if __name__=='__main__':
try:
Thread(target=myfunction, args=(a, 1)).start()
Thread(target=myfunction2, args=(a, 1)).start()
except Exception, errtxt:
print errtxt