Question sur les sockets. [Résolu]

Signaler
Messages postés
145
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
21 février 2013
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonsoir,

Supponsons sur un serveur, le socket sock1 accepte une connexion.:

sock1=accept(wParam,NULL,NULL);

a un moment donne, est-ce que je pe faire ceci :

SOCKET sock2;
sock2=sock1;
closesocket(sock1);

sans perdre la connexion ? (que la connexion soit mnt avec le sock2, et que sock1 puisse accepter une nouvelle connexion)
Merci d'avance

l3KTr0 Was HeRe

3 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
sock2 deviendra un nombre invalide (en tant que socket) si tu fermes sock1.

ciao...
BruNews, MVP VC++
Messages postés
354
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
24 mars 2011
1
Salut,

Le type SOCKET est defini en tant que "unsigned int". Donc, dans la pratique, oui, c'est possible.

Par contre je ne comprends pas bien ta problematique.
La plupart du temps, on a une boucle qui accepte les connexions :

while(sock1 = accept(wParam, NULL, NULL))

Ensuite, on passe sock1 a un nouveau Thread :

hThread = CreateThread(NULL, (SIZE_T)NULL, ThreadProc, (LPVOID) sock1, (DWORD)NULL, &idThread);

Et le tour est joué, pas la peine de "recopier" sock1, étant donné que sa valeur a été passé au Thread.

D@runia
Messages postés
145
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
21 février 2013

Peux-tu mieux expliquer a propos du thread ? pourquoi faire le thread ?

Merci

l3KTr0 Was HeRe