Exemplo n.º 1
0
Transmission = 1
condition = 0
print('''Using this Sender Application You can send any value except "0" 
And Enter "0" to Stop this Application''')
while (Transmission):
    senderSeq = changeSeqNO(senderSeq)
    data = int(
        input("Enter the message for " + str(senderSeq) +
              " Sequence Number : "))
    if (data == 0):
        Transmission = 0
        print("Sender Application has been Stopped")
        break
    seqNumdict[senderSeq] = data
    condition = 1
    while (condition):
        packet = make_pkt(senderSeq, data, c.compliment(c.CHECK(data)))
        udt_send(packet)
        message, receiver = senderSocket.recvfrom(2048)
        #print(message)
        #print(receiver)
        extractedAck = pickle.loads(message)
        if (notCurrupted(extractedAck) and isACK(extractedAck)):
            print("Packet " + str(senderSeq) +
                  " Sent Successfully and Acknowledged")
            condition = 0
            break
        if ((notCurrupted == False) or isNAK(extractedAck)):
            print("Else condition become True")
            condition = 1
            continue
Exemplo n.º 2
0
receiverSocket.bind(("127.0.0.1", 4500))
Ack = 271
#Nak=282
seq = 1
run = 1
print('''Server is Started
This Server can't be stopped Normally.
To Stop It you should use Keyboard Exception''')

while (run):
    print("Server is waiting")
    seq = changeSeqNO(seq)
    #print("Data Received to the Sequence Number : "+str(seq))
    dataTuple, client = receiverSocket.recvfrom(2048)
    extractedTuple = pickle.loads(dataTuple)
    if (notCurrupted(extractedTuple) and hasSequenceNo(extractedTuple, seq)):
        print("With the Sequence Number " + str(seq) + " Received Data is " +
              str(extractedTuple[1]))
        packet1 = createPacket(Ack, seq, c.compliment(c.CHECK(Ack)))
        udt_Send(packet1, client)
    elif (notCurrupted(extractedTuple) == "False"):
        if (seq == 0):
            nseq = 1
        else:
            nseq = 0
        packet1 = createPacket(Ack, nseq, c.CHECK(Nak))
        udt_Send(packet1, client)
    else:
        #Change in the sequence number
        packet1 = createPacket(Ack, seq, c.compliment(c.CHECK(Ack)))
        udt_Send(packet1, client)