maison
Top.Mail.Ru Yandeks.Metrika
Forum: "Réseaux";
Archive actuelle: 2002.04.01;
Télécharger: [xml.tar.bz2];

vers le bas

Douille Trouver des branches similaires


anmak   (2001-11-02 16:49) [0]

Comment reprendre une socket morte?

Il y a un morceau de code qui se détache.

FD_ZERO (fds);
FD_SET (S, fds);
case select (S + 1, @ fds, nil, nil, @ one_second) de
SOCKET_ERROR: // erreur détectée
commencer
__close (s);
Writeln ("serveur en panne");
arrêter (1);
fin;

Voici comment à la place
__close (s);
Writeln ("serveur en panne");
arrêter (1);

faire fonctionner le serveur à nouveau sans nezavalivaya uz des connexions arrachées.



Digitman   (2001-11-05 12:50) [1]

Après __close (s) (il est nécessaire de comprendre, CloseSocket (s) s'y trouve-t-il?) On ne peut parler de «réanimation» de la connexion actuelle avec le client - vous avez vous-même rompu la connexion avec le client sans comprendre les véritables causes de SOCKET_ERROR. Nulle part dans ce code ne figure une analyse des raisons de l’erreur survenue (voir WSAGetLastError).
Et en général, il n’est pas clair pourquoi il faut mettre fin au processus serveur s’il s’agissait d’une défaillance non critique de la communication avec l’un des clients (certains autres clients actifs sont à blâmer pour le serveur, qui les "jette" tous en même temps en raison d’une rupture de communication avec certains alors un?)



anmak   (2001-11-05 14:12) [2]

oui vraiment .. pourquoi?
merci beaucoup



KPOT   (2002-01-22 13:59) [3]

Pishu malen "kuju programmku s Socketami, niznaju kak pral" na dejstvovat "v takoj situacii:

Inogda na onReceive Socket.ReceiveLength bol "elle a volé sa voix. Socket.ReceiveBuf. Ja tak ponimaju chto znachit prislali mne bol" elle a eu un coup de s4ital: (((

Kak i kogda et mogu s4itat "ostatok ???

Zaranee blagodaren



Digitman   (2002-01-22 14:22) [4]

s'il y a un reste, l'événement OnRead () se reproduira. Dans son gestionnaire, lisez la prochaine partie attendue, pas plus grande que ReceiveLength. Autrement dit, chaque fois qu'un événement OnRead () se produit, le système vous informe de la disponibilité, dans le tampon de réception, du socket de données réellement reçu du partenaire de connexion à ce moment-là, de la taille des octets ReceiveLength. Vous-même, à ce moment particulier (le moment où vous traitez l'événement OnRead), vous êtes libre de décider de la partie de la taille requise que vous devez lire dans la mémoire tampon (mais pas plus que ReceiveLength octets).



Pages: 1 branche entière

Forum: "Réseaux";
Archive actuelle: 2002.04.01;
Télécharger: [xml.tar.bz2];

à l'étage









Mémoire: 0.56 MB
Heure: 0.019 c
1-200
Irene
2002-03-18 11:25
2002.04.01
Comment lire les caractères dans le mémo après


1-186
Alexey A
2002-03-19 21:41
2002.04.01
Composants


1-241
anod
2002-03-20 22:32
2002.04.01
Masquer le formulaire?


1-134
AlexRaza
2002-03-19 22:08
2002.04.01
Fichier ouvert automatiquement


3-3
et premier
2002-03-05 14:44
2002.04.01
Erreur de demande





afrikaans albanais Arabic arménien azerbaïdjanais basque Biélorusse Bulgare catalan Chinois simplifié) Chinois (traditionnel) croate Tchèque Danois Néerlandais English estonien Filipino Finlandais Français
galicien géorgien Allemand Grecque Créole haïtien hébreu Hindi Hongrois Islandais Indonesian irlandais Italien japonais Coréen letton lituanien macédonien Malay maltais Norvégien
persan Polonais Portugais roumain Russe serbe Slovaque Slovène Espagnol Swahili Suédois Thai turc ukrainien Urdu vietnamien gallois yiddish bengali bosniaque
Cebuano espéranto gujarati Hause hmong Igbo Javanais Kannada Khmer lao latin maori Marathi mongol népalais punjabi somali tamil telugu yoruba
zoulou
Английский Français Allemand Italien Португальский Русский Espagnol