UDP передача файлов с каналом
Пожалуйста, помогите мне; Я не знаю, как обработать потерю скорости передачи пакетов в Python от 0 до 10%.
Мне нужно написать sender.py и receive.py, чтобы соединиться с каналом и изменить канал, чтобы он мог отправить картинку.
Вот код для channel.py:
#
import random
import socket
from socket import *
#Vary the channel loss rate between 0-10
lossRate = 0
#Create UDP sockets for sender and receiver
senderSocket = socket(AF_INET, SOCK_DGRAM)
receiverSocket = socket(AF_INET, SOCK_DGRAM)
# Assign IP address and port numbers to sockets
senderSocket.bind(('127.0.0.1', 5001))
receiverSocket.bind(('127.0.0.1', 5002))
receiverMessage, receiverAddress = receiverSocket.recvfrom(1600)
print "Receiver ready"
while True:
# Receive the messages from sender
senderMessage, senderAddress = senderSocket.recvfrom(1600)
#forward the frame to the receiver with a random loss
rand = random.randint(0,99)
if rand > lossRate:
receiverSocket.sendto(senderMessage, receiverAddress)
#receive the ACK from receiver
receiverMessage, receiverAddress = receiverSocket.recvfrom(1600)
#forward the ACK to the sender with a random loss
rand = random.randint(0,99)
if rand > lossRate:
senderSocket.sendto(receiverMessage, senderAddress)