Untitled

Anonymous
plain_text
03/02/2026 8:14 AM
1.6 KB
12
Indexable
#include<unistd.h>
#include<netinet/in.h>
#include<strings.h>

int sock_desc,temp_sock_desc;
void recvPacket(int i){
	char buf[100],ack[100];
	int k;
	k=recv(temp_sock_desc,buf,100,0);
	if(k==-1)
	printf("Error in receiving packet %d\n",i+1);
	for(;;)
	{
		printf("Packet %d received or not : ",i+1);
		scanf("%s",ack);
		ack[strlen(ack)]='\0';
		k=send(temp_sock_desc,ack,100,0);
		if(strcmp(ack,"1")==0){
		break;}
		else{
		    k=recv(temp_sock_desc,buf,100,0);
		}
	}
}

int main(){
	char buf[100];
	char ack[100];
	int k,m;
	socklen_t len;
	struct sockaddr_in server,client;
	sock_desc=socket(AF_INET,SOCK_STREAM,0);
	if(sock_desc==-1)
	printf("Error in socketcreation");
	server.sin_family=AF_INET;
	server.sin_addr.s_addr=INADDR_ANY;
	server.sin_port=5651;
	client.sin_family=AF_INET;
	client.sin_addr.s_addr=INADDR_ANY;
	client.sin_port=5656;
	k=bind(sock_desc,(struct sockaddr*)&server,sizeof(server));
	if(k==-1)
	printf("Error in binding");
	k=listen(sock_desc,5);
	if(k==-1)
	printf("Error in listening");
	len=sizeof(client);
	temp_sock_desc=accept(sock_desc,(struct sockaddr*)&client,&len);
	if(temp_sock_desc==-1)
	printf("Error in temporary socket creation");
	for(int i=0;i<3;i++){
	recvPacket(i);}
	close(temp_sock_desc);
	return 0;
}
Editor is loading...
Leave a Comment