Salut,![]()
Dans le problème que je vais vous énnoncer, il y a 2 programmes, le programme client et le programme serveur.
J'avais réalisé il y maintenant presque un an, un petit tchat en c++ (DOS)
J'essaye d'adapter le code pour le Visual c++ (Windows)
-Dans le programme serveur*, je fait appel à la fonction "connexion(4444);" (voir ci dessous)
* Aucun socket n'a été ouvert ou utilisé précédement dans cette application.
-Je me connecte sur ce serveur avec le programme client (IP:127.0.0.1) et la fonction "conect()" (fonction chez le client) renvoi "0" donc la connexion a reussi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int connexion(const int port) { sock = socket(AF_INET, SOCK_STREAM, 0); sin.sin_addr.s_addr = INADDR_ANY; sin.sin_family = AF_INET; sin.sin_port = htons(port); bind(sock, (SOCKADDR *)&sin, sizeof(sin)); listen(sock, 0); ioctlsocket(sock, FIONBIO, &argp); }: Mes problèmes:
-Pourquoi la connexion a réussi alors qu'aucune fonction "accept()" a été introduite dans le programme serveur: (par contre quant j'enleve la fonction "connexion(4444)" , la le client ne peut pas se connecter.
![]()
-Le plus gènant c'est que la communication avec "send()" et "recv()" est impossible. (cela me parait normal vu qu'aucun socket n'a été aloué au client, c'est normalement le rôle de "accept()" )
Merci de bien vouloir m'éclaircir sur ce problème qui me parrait un peu étrange.![]()
PS: J'ai essayé de me connecter sur l'ancien programme serveur (DOS) que j'avais fait et tout fonctione parfaitement il ne s'agit donc pas d'une défaillence du programme client.
EDIT: J'utilise DevC++ (4.9.9.2)
Partager