Проблема с передачей картинки с сервера на клиент. Клиент отдаёт команду на установку картинки с определёным названием серверу, сервер проверяет наличие картинки и если она есть он её кодирует и передаёт клиенту, клиент раскодирует и записывает в папку.
клиент
import socket
import os
from threading import*
class Client():
def __init__(self):
self.client = socket.socket(
socket.AF_INET,
socket.SOCK_STREAM
)
self.client.connect(
("192.168.1.44",2235)
)
while True:
self.data = self.client.recv(2048).decode("utf-8")
self.data = str(self.data)
print(self.data)
self.input_c = Thread(target=self.input1)
self.input_c.start()
def input1(self):
while True:
self.command = input("Установить файл | отправить файл 1/2: ")
if self.command == "1":
self.file = input("имя файла: ")
a = os.path.exists(self.file)
if a == True:
print("Данный файл уже существует")
elif a == False:
self.file = "install|"+self.file
self.client.send(self.file.encode("utf-8"))
self.file_installion = open(self.file, "w")
self.data_c = self.client.recv(2048).decode("utf-8")
while self.data_c:
self.file_installion.write(self.data_c)
self.data_c = self.client.recv(2048).decode("utf-8")
self.file_installion.close()
if __name__ == "__main__":
client = Client()
сервер
import socket
from threading import*
import os
server = socket.socket(
socket.AF_INET,
socket.SOCK_STREAM
)
server.bind(
("192.168.1.44",2235)
)
server.listen()
def server_messeng(user):
while True:
data = user.recv(2048)
data = data.decode("utf-8")
data = data.split("|")
a = os.path.exists(data[1])
if (data[0] == "install") and (a==True):
file = open(data[1], "r")
data = file.read(2048)
while data:
client.send(data)
data = file.read(2048)
file.close()
else:
print("none")
def server_st():
while True:
user, adress = server.accept()
user.send("You connect my server".encode("utf-8"))
server_ms = Thread(
target=server_messeng,
args=(user,)
)
server_ms.start()
server_st()