带通道的UDP文件传输

2024-03-28 22:17:35 发布

您现在位置:Python中文网/ 问答频道 /正文

请帮帮我,我不知道如何用Python处理0-10%的丢包率。你知道吗

我需要写下发件人.py以及接收器.py连接频道并修改频道,以便它可以发送图片。你知道吗

这是你的密码频道.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)    

Tags: thetofrompyimportrandomsocket频道