-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgoBackNserver.py
More file actions
35 lines (31 loc) · 1.15 KB
/
Copy pathgoBackNserver.py
File metadata and controls
35 lines (31 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import socket
import time
serverSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serverSocket.bind((socket.gethostname(), 9999))
serverSocket.listen(10)
while True:
clientSocket, address = serverSocket.accept()
print("Received request for sending frames from : %s" % str(address))
windowSize = clientSocket.recv(1024)
print("Window size entered by user = " + windowSize.decode('ascii'))
numberOfPacketsToBeSent = clientSocket.recv(1024)
print("The client is requesting to send " + numberOfPacketsToBeSent.decode('ascii') + " Packets")
expectedPacket = 0
while True:
packetDetails = clientSocket.recv(1024)
if not packetDetails:
break
data = packetDetails.decode('ascii')
lines = data.split('\r\n')
packet = lines[0]
error = lines[1]
print(packet)
#print(error)
if int(error) == 1 or int(packet) != expectedPacket:
time.sleep(3)
clientSocket.send(str(packet).encode('ascii'))
else:
time.sleep(3)
clientSocket.send(str(-1).encode('ascii'))
expectedPacket += 1
clientSocket.close()