【发布时间】:2012-02-09 17:34:32
【问题描述】:
我有一个多线程回显服务器:
from socket import *
import threading
import thread
def handler(clientsock,addr):
while 1:
data = clientsock.recv(BUFSIZ)
if not data:
break
msg = 'echoed:... ' + data
clientsock.send(msg)
clientsock.close()
if __name__=='__main__':
HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
serversock = socket(AF_INET, SOCK_STREAM)
serversock.bind(ADDR)
serversock.listen(2)
while 1:
print 'waiting for connection...'
clientsock, addr = serversock.accept()
print '...connected from:', addr
thread.start_new_thread(handler, (clientsock, addr))
我想转换服务器以返回二进制图像而不是原始消息,并相应地修改客户端。
谁能给我举个例子?
【问题讨论】:
-
这让我想起了15-line python p2p-app,也许你能从中得到一些提示? Here 是带注释的版本。
-
为什么不直接从磁盘读取图像并“按原样”发送呢?它很可能会正常工作。
标签: python sockets python-3.x