J'essaie d'implémenter la programmation des sockets en C. Lorsque j'essaye de me connecter d'un client à un serveur (Ubuntu), cela montre une erreur comme "la connexion a échoué".
Je pense donc que le problème vient du port. J'utilise le port 5454 / tcp pour la programmation des sockets.
Comment savoir si le port 5454 écoute ou non? Si ce n'est pas le cas, quels sont les ports que je peux utiliser pour la programmation de socket TCP en utilisant C dans Ubuntu? Est-ce le problème avec le port uniquement ou y a-t-il quelque chose qui ne va pas dans mon code ou des paramètres sont-ils nécessaires dans LINUX Ubuntu?
EDIT: extrait de code:
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 : Le problème est dans le port, donc je viens de réinstaller Ubuntu, et cela fonctionne. Merci à vous tous.
lsof -i:5454
(vous devrez peut-être l'exécuter en tant que même utilisateur que le programme ouvrant le port, ou en tant que root).