Question sur les sockets.

Résolu
lektrosonic Messages postés 145 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 21 février 2013 - 26 nov. 2007 à 19:06
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 26 nov. 2007 à 20:09
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 nov. 2007 à 20:09
sock2 deviendra un nombre invalide (en tant que socket) si tu fermes sock1.

ciao...
BruNews, MVP VC++
3
cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 2
26 nov. 2007 à 19:48
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
0
lektrosonic Messages postés 145 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 21 février 2013
26 nov. 2007 à 19:49
Peux-tu mieux expliquer a propos du thread ? pourquoi faire le thread ?

Merci

l3KTr0 Was HeRe
0
Rejoignez-nous