Как перенести большой файл (видео, аудио) с моего клиента на сервер на локальном хосте с использованием сокетов UDP в python 3.5? Мне удалось отправить небольшой файл .txt, но не другие типы файлов. Пожалуйста, дайте мне советы. Спасибо!Передача файлов сокетов UDP python 3.5
Вот мой код для передачи текстового файла.
КЛИЕНТ КОД:
import socket
import sys
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
host = '127.0.0.1'
port=6000
msg="Trial msg"
msg=msg.encode('utf-8')
while 1:
s.sendto(msg,(host,port))
data, servaddr = s.recvfrom(1024)
data=data.decode('utf-8')
print("Server reply:", data)
break
s.settimeout(5)
filehandle=open("testing.txt","rb")
finalmsg=filehandle.read(1024)
s.sendto(finalmsg, (host,port))
SERVER КОД:
import socket
host='127.0.0.1'
port=6000
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind(("",port))
print("waiting on port:", port)
while 1:
data, clientaddr= s.recvfrom(1024)
data=data.decode('utf-8')
print(data)
s.settimeout(4)
break
reply="Got it thanks!"
reply=reply.encode('utf-8')
s.sendto(reply,clientaddr)
clientmsg, clientaddr=s.recvfrom(1024)
Вы можете показать нам свой код? –
Конечно. Я добавил его к своему оригинальному сообщению – Rohan
Поскольку UDP - ненадежный протокол, вам нужно добавить к нему некоторый уровень надежности. Это не тривиальная задача и добавление всего этого в ваш тривиальный пример кода, который просто управляет отправкой/получением одного пакета, делает этот вопрос слишком широким. Но вы можете начать с использования нескольких отправки и получения для передачи большего количества данных. Помимо этого, пожалуйста, узнайте, как использовать правильное форматирование кода при задании вопросов в SO. –