Estou tentando implementar a programação de soquetes no C. Quando tento conectar-me de um cliente a um servidor (Ubuntu), ele mostra um erro como "falha na conexão".
Então eu acho que o problema está com a porta. Estou usando a porta 5454 / tcp para programação de soquete.
Como posso saber se a porta 5454 está escutando ou não? Caso contrário, quais são as portas que eu posso usar para programação de soquete TCP usando C no Ubuntu? Esse é o problema apenas da porta ou há algo errado no meu código ou qualquer configuração é necessária no Linux Linux?
EDIT: 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);
EDIT : O problema está na porta, então eu apenas reinstalei o Ubuntu e está funcionando. Obrigado, todos vocês.
lsof -i:5454
(talvez seja necessário executá-lo como o mesmo usuário que o programa que abre a porta ou como root).