I am trying to learn socket programming in C and i was trying to setup a basic TCP connection between client and server however in my server.c my code is seemingly just stuck at listen(). It does not execute the next lines and it also doesnt return the error message.
#include<stdio.h>
#include<stdlib.h>
#include<arpa/inet.h>
#include<string.h>
#include<unistd.h>
int main(){
char *ip="127.0.0.1";
int port =5566;
int server_sock,client_sock;
struct sockaddr_in serveraddr,clientaddr;
socklen_t addr_size;
char buffer[1024];
int n;
server_sock=socket(AF_INET,SOCK_STREAM,0);
if(server_sock<0){
perror("[-]Socket error");
exit(1);
}
printf("[+] TCP server socket createdn");
memset(&serveraddr,'',sizeof(serveraddr));
serveraddr.sin_family=AF_INET;
serveraddr.sin_port=port;
serveraddr.sin_addr.s_addr=inet_addr(ip);
n=bind(server_sock,(struct sockaddr*)&serveraddr,sizeof(serveraddr));
if(n<0){
perror("[-]Bind error");
exit(1);
}
printf("[+] TCP SOCKET BOUND to port %dn",port);
n=listen(server_sock,5);
if(n<0){
perror("listen errorn");exit(1);
}
printf("server listening");
while(1){
addr_size=sizeof(clientaddr);
client_sock=accept(server_sock,(struct sockaddr*) &clientaddr,&addr_size);
printf("[+]Client Connected.n");
}
}
This is my current server.c
n=listen(server_sock,5);
It doesn’t execute past this line. In my client.c the code is similar however i am getting a bind erorr
Fitz chivalry farseer is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.