На сервер передаю файл, обрабатываю, хочу отправить результат обработки назад клиенту, не получается, вернее передать назад получается а вот принять уже не могу клиентом, мне приходится закрывать соединение что бы установить новое а сервер уже не может передать по старому соединению
#server
from socket import *
from rscan import Rscan
def imag(x):
text = Rscan.ima(x)
#print text
text = text.replace("\n"," ")
return text
HOST = 'localhost'
PORT = 4444
s = socket(AF_INET, SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
fil = open("i.jpg", "wb")
while 1:
f=conn.recv(1024)
print f
fil.write(str(f))
if not f:
break
fil.close()
res = imag('i.jpg')
print res
conn.send(res)
conn.close()
from socket import *
HOST = "localhost"
PORT = 4444
s = socket(AF_INET,SOCK_STREAM)
s.connect((HOST, PORT))
print "Client running on %s port %s" % (HOST, PORT)
fil = open("eurotext.jpg", "rb")
while True:
buf = fil.read(40)
if len(buf) == 0:
break
#print buf
s.send(buf)
s.close()
или может быть надо сделать два в одном, после передачи клиент закрывает соединение, открывает новое как сервер и ждет результата обработки?