begin process at 2012 05 29 22:10:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Réseau & Internet

 > 

probléme socket du serveur.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probléme socket du serveur.

dimanche 6 décembre 2009 à 21:54:05 | probléme socket du serveur.

jerem3000


Bonsoir,

Actuellement je commence a apprendre la programmation réseau et j'ai un peut du mal a tous comprendre, j'ai donc commencé a analyser le fonctionnement de plusieurs source de se site, et j'en est trouver seulement une asser simple pour moi.

source

le problème c'est qu'il y as pas mal de bug dans cette source et que je n'arrive pas a les corriger, le plus gênant étant le plantage de la partit serveur quand plusieurs client se déconnecte.

J’ai essayer le débogage mais je n'est pas réussi a trouver d'ou cela peut venir.

est-ce que quelqu'un pourrait m'aider ou me donner une piste sur ce problème?

Merci d'avance

Jérémy
lundi 7 décembre 2009 à 09:48:25 | Re : probléme socket du serveur.

lural

Membre Club
Bonjour,

Pour te donner des pistes de réflexions ou t'aider à débugguer, il nous faudrait voir un peu les codes d'erreurs retournés lorsque ça "plante" et savoir comment tu y es arrivé. Si le code est simple, il n'est pas forcément complet et ne gère pas tout les cas, donc si tu peux nous en dire plus sur tes erreurs ...

Bye
lundi 7 décembre 2009 à 12:25:13 | Re : probléme socket du serveur.

jerem3000

Il y a pas mal de bug dans ce code mais le seul qui m'intéresse vraiment est quand on déconnecte les clients.

Donc pour arriver a ce bug cela est tous simple :

- lancer le serveur
- lancer 2 clients et les connecter au serveur
- déconnecter les deux clients et la le serveur plante

J’ai remarquer que le serveur planter quand on déconnecte le premier client qui c'est connecter et que si on ne connecte que 1 seul client on peut le connecter et déconnecter sans que cela pause de problème
Je pense que cela viens d'un problème de thread mais je n'arrive pas vraiment a bien définir d'ou.

Donc quand le serveur plante cela me marque

Program : ...ocuments\Visual Studio 2008\Projects\Socket\Debug\Serveur.exe
File:f:\dd\vctools\crt_bld\selfx86\crt\src\dbgheap.c
Line: 1317

Expression: _CrtIsValidHeapPointer(pUserData)

For information on how your program can cause an assertion failure, see the Visual C++ documentations on asserts.

(Press Retry to debug the application)


Cela fait 1 semaine que je suis sur ce problème je vous remercie d'avance pour votre aide
et excuser moi d’avance si l'erreur est flagrante je débute dans ce domaine.

jérémy
lundi 7 décembre 2009 à 18:00:51 | Re : probléme socket du serveur.

fregolo52

Membre Club
Euh,

tu peux remonter le pile d'appel et nous montrer la ligne de ton code qui plante ?

Mais à mon avis, tu as un pb de mémoire, peut-etre que ton buffer de réception n'est pas aussi grand et il jardine la mémoire et fait pèter le programme.
lundi 7 décembre 2009 à 18:37:46 | Re : probléme socket du serveur.

jerem3000


Le problème c'est que quand je fait un débogage pas a pas cela ne le fait pas donc je n'arrive pas a savoir d'ou cela viens.

J’essaye de corriger une source du site pour m'en inspirer et comprendre les sockets donc elle est disponible si tu veux essayer.

http://www.cppfrance.com/code.aspx?ID=29277

J’ai tous essayer et il n'y a pas moyen de savoir
jérémy
mardi 8 décembre 2009 à 01:07:29 | Re : probléme socket du serveur.

jerem3000


ou si quelqu'un a un lien vers une source du méme type et trés simple a compprendre?

jérémy
mardi 8 décembre 2009 à 11:37:40 | Re : probléme socket du serveur.

fregolo52

Membre Club

Tu n'es pas obligé de faire du pas à pas !
Moi, je laisse exécuter le programme, et quand il plante, le débugger Visual fait apparaitre une boite de dialogue avec 3 bouton (Abort/Retry/Ignore) si tu cliques sur Retry tu entres en debug.
mardi 8 décembre 2009 à 20:47:32 | Re : probléme socket du serveur.

jerem3000


Exception de première chance à 0x770f64cf dans Server.exe : 0xC0000008: An invalid handle was specified.

pile des apel j'ai une fléche verte avec marquer : Server.exe!Echo(void*param=0x00000068) Ligne 161 + 0xe octets

aprés avoir appuyer sur continuer :

Exception non gérée à 0x770f64cf dans Server.exe : 0xC0000008: An invalid handle was specified.

et méme message dans pile des apel

jérémy
mercredi 9 décembre 2009 à 08:49:45 | Re : probléme socket du serveur.

fregolo52

Membre Club
void*param=0x00000068 ca sent un pointeur nul quelque part avant l'appel de cette fonction.

Peux-tu mettre le code de l'appel de Echo, dans la source il y a un truc horrible :
Code C/C++ :
New_Sock = new SOCKET;
New_Sock[Cnx] = accept(Sock, (struct sockaddr*) NULL, (int *) NULL);


Il alloue un "SOCKET" mais par contre il en stocke Cnx, dès le 2e clients connecté ça peut planter.

En plus je ne vois pas la déclaration de New_Sock.

Essayons un truc simple :
Code C/C++ :
SOCKET New_Sock[10];

while(bContinue)
{
	Cnx++;
	New_Sock[Cnx] = accept(Sock, (struct sockaddr*) NULL, (int *) NULL);
	printf("Client connecte. ( %d total )\n", Cnx);

	hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Echo, (LPVOID)New_Sock[Cnx], 0, &dwThread);
} 


Dans mon cas, au 11e clients, ca va merder.

Tu as un autre exemple de code simple ici
mercredi 9 décembre 2009 à 21:45:01 | Re : probléme socket du serveur.

jerem3000

non sa merde des que le 1er client se connecte.

j'ai déja vu la source que tu m'indique mais elle ne marche pas, je n'est pas trouver mieu que celle que j'utilise actuellement.


jérémy

1 2

Cette discussion est classée dans : serveur, source, socket, probléme, mal


Répondre à ce message

Sujets en rapport avec ce message

probléme d'allocation mémoire ? [ par templeofboom ] dans le cadre du développement d'une application de socket sous devcpp je me retrouve bizarrement coincé a cause d'une erreur d'allocation mémoire à Serveur Telnet C++ Aide sur IP [ par hergo ] Bonjour je suis debutant et j'aimerai savoir comment recuperer l'ip dun client qui se connect a un serveur telnet:jai recuperer ce serveur telnet si j Qd un Socket reçoit une trame erronée ... [ par valoue ] Bonjour,Je suis en train de développer una appli client serveur sous VC++, j'utilise des SOCKET.Le client et le serveur communiquent en s'envoyant des Question socket - Client/Serveur [ par LordBob ] Bonjour a tous,alors voila je suis en train de developper un petit programme client/serveur... donc tout se passe bien, mon client se connecte parfait Client/Serveur, encore..... [ par glubust ] Je veux faire fonctionner une application client/serveur sous UNIX (client) et WINDOWS (serveur).Le programme client envoi une simple requête au serve problème socket sous windows [ par kod32 ] Voici mon code : (winsock2.h)-----------------------------int main(){ /* inialisation */ WSADATA wsa; WSAStartup(MAKEWORD(2,0), &wsa); /* Serveur multiclient C++ builder6 [ par franckies ] Salut a tous!!je susi en teain de crer un serevur multiclient mais j'arrive pas a gerer la deconnexion des cleints.En gros je souhaite pouvoir deconne socket derrière routeur [ par thanos57 ] voila j'ai internet par l'intermediaire d'un routeur bewan. Je voudrais créer un serveur sur un pc, pour que, celui à qui je donne le client puisse se Socket Client Serveur [ par Csay97 ] Probleme: je veux créer une socket client serveur, sachant que mon serveur est en mode console et que mon client doit etre en mode graphique.Le client Timeout pour Socket [ par Oeil_de_taupe ] Bonjour les programmeurs, Je suis en train de créer une DLL pour  rechercher des email sur un serveur POP3. Pour l'instant ma DLL ne fait que loguer


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales