Stop and Wait
Stop and Wait
/******************************************************************************/
Client Program
#include<stdio.h>
#include<string.h>
#include<netinet/in.h>
#include<stdlib.h>
#include<arpa/inet.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<unistd.h>
void main() {
memset(&servaddr, 0 , sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(5600);
scanf("%d", &n);
ack = -1;
do {
sizeof(servaddr));
if (ack == -1) {
n = -99;
close(sockfd);
Server Program
#include<stdio.h>
#include<string.h>
#include<netinet/in.h>
#include<stdlib.h>
#include<arpa/inet.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<unistd.h>
void main() {
memset(&cliaddr, 0 , sizeof(cliaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(5600);
while (1) {
if (p == -99)
break;
scanf("%d", &ack);
OUTPUT
Server
Received frame 1
Received frame 2
Enter 1 for +ve ACK and -1 for -ve ACK1
Received frame 3
Received frame 3
Received frame 4
Client
Sending frames 1
Sending frames 2
Sending frames 3
Sending frames 3
Sending frames 4
/***********************************************************************/