- 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
import socket
s=socket.socket()
s.bind(('localhost',8000))
s.listen(5)
c,addr=s.accept()
size=int(input("Enter number of frames to send : "))
l=list(range(size))
s=int(input("Enter Window Size : "))
st=0
i=0
while True:
while(i<len(l)):
st+=s
c.send(str(l[i:st]).encode())
ack=c.recv(1024).decode()
if ack:
print(ack)
i+=s
import socket
s=socket.socket()
s.connect(('localhost',8000))
while True:
print(s.recv(1024).decode())
s.send("acknowledgement recived from the server".encode())
![Screenshot 2024-04-20 212941](https://private-user-images.githubusercontent.com/149347704/324189450-2d37f8ce-0e03-4531-aa81-26d1a987874e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxNzY2NjYsIm5iZiI6MTcyMjE3NjM2NiwicGF0aCI6Ii8xNDkzNDc3MDQvMzI0MTg5NDUwLTJkMzdmOGNlLTBlMDMtNDUzMS1hYTgxLTI2ZDFhOTg3ODc0ZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxNDE5MjZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01ZmJiOGY5YTBhYmJjNzI2YzE2MjhlZDYxNDQ3YjFkMTVlYTM2MGNlMjg4M2M2NDg3YmY2ZDE1M2I1ZDZmMTQwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.79DQTHO-ObxT843UzIQsQHKJlFN_k-RL7FxMsY6b3Ts)
![Screenshot 2024-04-20 213001](https://private-user-images.githubusercontent.com/149347704/324189478-058f8b51-9574-4d1a-91dc-d3c200f3c365.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxNzY2NjYsIm5iZiI6MTcyMjE3NjM2NiwicGF0aCI6Ii8xNDkzNDc3MDQvMzI0MTg5NDc4LTA1OGY4YjUxLTk1NzQtNGQxYS05MWRjLWQzYzIwMGYzYzM2NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQxNDE5MjZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hNDg2OTFlNjdiODc1ZTBjNDVlOGQ0Njk5MGQ2MzJkODY4ZTQxMjVmZDVkYzNhMmY4ZDAxMTg2ZGE4OWY3NDliJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.rRc5QHTbJZWUpwavN1sU7-0SZeolM8lzM-4Bi5HABw0)
Thus, python program to perform stop and wait protocol was successfully executed