- Start the program.
- Get the frame size from the user
- To create the frame based on the user request.
- To send frames to server from the client side.
- If your frames reach the server it will send ACK signal to client
- Stop the Program
server.py
import socket
s = socket.socket()
s.bind(('localhost', 9999))
s.listen(1)
print("Server listening...")
conn, addr = s.accept()
print(f"Connected to {addr}")
while True:
frames = conn.recv(1024).decode()
if not frames:
break
print(f"Received frames: {frames}")
ack_message = f"ACK for frames: {frames}"
conn.send(ack_message.encode())
conn.close()
s.close()
client.py
import socket
c = socket.socket()
c.connect(('localhost', 9999))
size = int(input("Enter number of frames to send: "))
l = list(range(size))
print("Total frames to send:", len(l))
s = int(input("Enter Window Size: "))
i = 0
while True:
while i < len(l):
st = i + s
frames_to_send = l[i:st]
print(f"Sending frames: {frames_to_send}")
c.send(str(frames_to_send).encode())
ack = c.recv(1024).decode()
if ack:
print(f"Acknowledgment received: {ack}")
i += s
break
c.close()
Thus, python program to perform stop and wait protocol was successfully executed