IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Winsock non testé !


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Par défaut Winsock non testé !
    crosoft n'a pas tester à fond Winsock.

    Je suis sur un serveur web multi-thread,
    J'essaye un lien url vers mon serveur-web
    quand je clique sur la croix pour quitter internet explorer ,
    l'événement FD_CLOSE n'est pas reçu !
    Avant je l'ai recevait , et plus maintenant !

    Winsock Buggé ! buggé ! buggé !
    Mon serveur WEB inutilisable je ne peux plus le continuer !
    Microsoft me fait perdre du temps et de l'argent !
    J'ai autre chose à faire !
    Je vais le faire savoir !



    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    int wndprocmessage(HWND hwnd,int message,int wparam,int lparam)
    {
    	if (oldwndprocmessage!=0)
    	if (message==WM_USER+1)
    	{
    		switch (WSAGETSELECTEVENT(lparam))
            {
     
    			case FD_ACCEPT:
    				{
    				//Sleep(1000);
     
     
    				int ClientSocket = accept(wparam, 0, 0);
    				WSAAsyncSelect(ClientSocket, hwnd, WM_USER+1,  FD_READ | FD_WRITE | FD_CLOSE);
    				PSOCKETREQUEST rq=(PSOCKETREQUEST)malloc(sizeof(TSOCKETREQUEST));
    				rq->hsocket=ClientSocket;
    				lessockets.push_back(rq);
    				//rq->ID=createrequest(signsocket,rq,procsend,procclose);
     
     
    				}
    				break;
    			case FD_READ:
    				{
    					char buf[256];
     
    					int ret = recv(wparam, buf, 128, 0);
    					if (ret!=-1)
    					{
    						int ID=findsocket(wparam);
    						if (ID!=0)
    						{
    							//sendofrecv(ID,buf,ret);
    						}
    					}								
    				}
    				break;
    			case FD_CLOSE:
    				int ID = findsocket(wparam);
    				if (ID!=0) 
    				{					 
    					 cancelrequest(ID); //cancelrequest qui appel la fonction closeconnection (closesocket)
    				}
    				else
    					 closesocket(wparam);
     
    				//closesocket(wparam);
    				break;
    		}

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Par défaut Déterminer si socket tjrs connecté
    Comment déterminer si le socket est tjrs connecté sans passer par FD_CLOSE ?
    car crosoft n'a pas correctement testé son produit !

  3. #3
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    1) pas besoin de s'insurger contre microsoft..
    2) et indente aussi ton code (on n'y comprend rien ) et t'auras des chances d'avoir une réponse..

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Par défaut Bug resolu
    Le bug c'est quand je déconnecte 2 fois le meme socket dans l'évenement FD_CLOSE !.
    Quand je le déconnecte qu'une seule fois , là c'est bon.
    J'ai tester avec plusieurs socket , ça à l'air d'etre OK

    Le probléme vennait aussi de Avast , j'ai arreter le service "Bouclier Web", et l'évenement FD_CLOSE répond pour les adresses 192.168.x.x.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [rich:fileUpload]Required non testé
    Par rushtakn dans le forum JSF
    Réponses: 4
    Dernier message: 26/06/2009, 16h17
  2. Réponses: 8
    Dernier message: 22/05/2006, 09h25
  3. [Winsock] Adresse IP internet et non du poste local
    Par litbos dans le forum Réseau
    Réponses: 9
    Dernier message: 08/11/2005, 08h20
  4. [TreeView] Test de la présence ou non d'un noeud
    Par TheDarkLewis dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/07/2004, 03h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo