Sto cercando di implementare la programmazione socket in C. Quando provo a connettermi da un client a un server (Ubuntu), mostra un errore come "connessione fallita".
Quindi penso che il problema sia con la porta. Sto usando la porta 5454 / tcp per la programmazione socket.
Come posso sapere se la porta 5454 è in ascolto o no? In caso contrario, quali sono le porte che posso usare per la programmazione socket TCP usando C in Ubuntu? È questo il problema solo con la porta o c'è qualcosa di sbagliato nel mio codice o qualsiasi impostazione è richiesta in LINUX Ubuntu?
EDIT: frammento di codice:
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);
EDIT : il problema è in porto, quindi ho appena installato Ubuntu e funziona. Grazie a tutti.
lsof -i:5454
(potrebbe essere necessario eseguirlo come lo stesso utente del programma che apre la porta o come root).