我最近进行了套接字编程,并试图建立一个环境,使客户端在服务器上发布文件(我称它们为发布者,尽管那不是最好的命名法),而其他客户端则要求服务器上有一个文件,如果服务器没有,则将客户端存储在队列中,因此从发布者收到的第一个文件可以转到该客户端。 我感觉队列有些不可思议,尽管我不知道到底是什么。
def __init__(self,ip,port,sock, clientqueue, filequeue):
Thread.__init__(self)
self.ip = ip
self.port = port
self.sock = sock
self.clientqueue = Queue.Queue(0)
self.filequeue = Queue.Queue(0)
print " New thread started for "+ip+":"+str(port)
BUFFER_SIZE = 4096
data = self.sock.recv(BUFFER_SIZE)
if data != 'Publisher':
for i in range(10):
if data not in self.clientqueue():
self.clientqueue.insert(i, data)
return true
return false
i = i + 1
我的问题是,如何建立一个队列来存储唯一的订户请求,以便第一个订户可以从存储在另一个队列中的发布者那里收到第一个iten?如果我的问题不够清楚,我深表歉意。