Estoy tratando de implementar la programación de socket en C. Cuando intento conectarme desde un cliente a un servidor (Ubuntu), muestra un error como "error de conexión".
Entonces creo que el problema es con el puerto. Estoy usando el puerto 5454 / tcp para la programación de sockets.
¿Cómo puedo saber si el puerto 5454 está escuchando o no? Si no es así, ¿cuáles son los puertos que puedo usar para la programación de socket TCP usando C en Ubuntu? ¿Es ese el problema con el puerto solamente o hay algo mal en mi código o se requiere alguna configuración en LINUX Ubuntu?
EDITAR: Fragmento de código:
int socket_send;
struct sockaddr_in address;
printf("\n Initialization Socket....");
socket_send = socket(AF_INET,SOCK_STREAM,0);
if(socket_send == -1)
{
perror("\n Socket not created.Error:");
return 1;
}
printf("\n Socket created");
address.sin_family=AF_INET;
address.sin_addr.s_addr=inet_addr(ip);
address.sin_port=htons(5454);
if(connect(socket_send,(struct sockaddr*)&address,sizeof(struct sockaddr))<0)
{
perror("\nConnetion failed.Error:");
return 1;
}
printf("\n Connected");
if(send(socket_send,(char*)buffer,size,flag)<0)
{
perror("\nSending failed.Error:");
return 1;
}
printf("\n Data successfully sent");
close(socket_send);
EDITAR : El problema está en el puerto, así que acabo de instalar Ubuntu y está funcionando. Gracias a todos ustedes.
lsof -i:5454
(es posible que deba ejecutarlo como el mismo usuario que lo hace el programa que abre el puerto, o como root).