Я новичок ie, и это мой первый вопрос по stackoverflow, поэтому с учетом сказанного, вот мой вопрос
КОД КЛИЕНТА
import socket
cs = socket.socket()
ADDR = ('192.168.29.139',9999)
cs.connect(ADDR)
l = int(cs.recv(2048).decode())
data = cs.recv(l).decode()
data = eval(data)
cont = data["file"]["cont"]
f = open(data['file']['name'] + data['file']['ext'], "wb")
f.write(cont)
f.close()
КОД СЕРВЕРА
## SERVER SIDE
import socket
ss = socket.socket()
ADDR = ('192.168.29.139',9999)
ss.bind(ADDR)
ss.listen()
conn, addr = ss.accept()
msg = input("Enter message: ")
filepath = input("Enter filepath: ")
fileName = input("Enter filename : ")
fileExt = input("Enter fileExt:" )
f = open(filepath,"rb")
r = f.read()
f.close()
fileDict = {"name": fileName, "ext": fileExt, "cont": r}
msg_dict = {"msg":msg, "file": fileDict}
msg_dict = str(msg_dict).encode()
conn.send(str(len(msg_dict)).encode())
conn.send(msg_dict)
Этот метод отлично работает, когда я передаю файлы на одном компьютере (даже файлы большего размера, например несколько ГБ, в этом тесте я использовал windows 7 тестового видео, размером около 25 МБ), но когда я использую его в локальной сети для передачи одного и того же файла, между двумя компьютерами в одной сети отображается ошибка
прямо во время этого оператора
data = eval(data)
ошибка заключалась в том, что после печати такого количества строк символов, как \ xo ... и пустых строк
EOL while scanning string literal ^
использование pickle также дало ошибку
Спасибо за чтение ... ПОМОГИТЕ!