begin process at 2012 02 16 01:51:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Réseau et Internet

 > 

Savoir quand winsock a envoyé des données


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

Savoir quand winsock a envoyé des données

vendredi 5 juillet 2002 à 19:50:26 | Savoir quand winsock a envoyé des données

harddisk

Une question qui peut sembler débile mais ca fait 5 jours que je trouve pas la solution:
Je fais un genre de chat avec un controle Serveur(100)
je veut qu'il envoie des données à tous ses clients.JE fais donc celà:

for x = 1 to 100
donnees = "[MSG]BlaBla"
serveur(x).senddata donnees
next

Devinez ce qui se passe: seul le client qui est connecté au serveur(100) recoit la réponse
pas les autres. je transforme ce code et ca devient:

for x = 1 to 100
donnees = "[MSG]BlaBla"
serveur(x).senddata donnees
msgox"patientez 0.2 ms"
next

et là Ô magie celà marche. Mais le problème c ke c très lent.
M^me si je met une boucle qui attend 2 ms a la place de la msgbox
celà prend 2 * 100 ms = 2sec ce qui est énorme.De plus si la donnée n'a pas été envoyé en 2 ms
ca marche po évidemment. La sub serveur_sendcomplete(index as.....) n'est pas une fonction(c logique)
donc imossible de faire if serveur_sendcomplete(x) =true then next

donc voila la VRAIE QUESTION: Que faire pour savoir si les données d'un ctrl winsock on été envoyé?
(il faudrait éviter une solution du type : le client envoi "bien recu"->ca prendrait trop de
temps et si un client en début de liste à une connexion foireuse tout le monde attend)
merci au sauveur qui répondra
vendredi 5 juillet 2002 à 20:06:43 | Re : Savoir quand winsock a envoyé des données

Makabey

Je crois avoir déjà fait un truc simple comme ceci:

(dans un module ou dans la partie commune de ta form):
Public boSentFlag as Boolean

(fonction)
for x = 1 to 100
boSentFlag=False
donnees = "[MSG]BlaBla"
serveur(x).senddata donnees
do while not boSentFlag
next

Sub Serveur_SendComplete(...)
boSentFlag=True
End Sub


Je crois que ça vas fonctionner.

-------------------------------
Réponse au message :
-------------------------------

Une question qui peut sembler débile mais ca fait 5 jours que je trouve pas la solution:
Je fais un genre de chat avec un controle Serveur(100)
je veut qu'il envoie des données à tous ses clients.JE fais donc celà:

for x = 1 to 100
donnees = "[MSG]BlaBla"
serveur(x).senddata donnees
next

Devinez ce qui se passe: seul le client qui est connecté au serveur(100) recoit la réponse
pas les autres. je transforme ce code et ca devient:

for x = 1 to 100
donnees = "[MSG]BlaBla"
serveur(x).senddata donnees
msgox"patientez 0.2 ms"
next

et là Ô magie celà marche. Mais le problème c ke c très lent.
M^me si je met une boucle qui attend 2 ms a la place de la msgbox
celà prend 2 * 100 ms = 2sec ce qui est énorme.De plus si la donnée n'a pas été envoyé en 2 ms
ca marche po évidemment. La sub serveur_sendcomplete(index as.....) n'est pas une fonction(c logique)
donc imossible de faire if serveur_sendcomplete(x) =true then next

donc voila la VRAIE QUESTION: Que faire pour savoir si les données d'un ctrl winsock on été envoyé?
(il faudrait éviter une solution du type : le client envoi "bien recu"->ca prendrait trop de
temps et si un client en début de liste à une connexion foireuse tout le monde attend)
merci au sauveur qui répondra

samedi 6 juillet 2002 à 14:04:34 | Re : Savoir quand winsock a envoyé des données

DeAtHCrAsH

Avec une boucle pareil tu risque pas d'aller tres loin lol ... T'incremente jamais la variable x ... en gros tu boucle indefiniment ce qui doit faire foirer ton prog...
Apres Next rajoute x soit Next x ou alors en fin de boucle met x = x +1
Puis pour eviter ce probleme tu peux faire comme Makabey te la dis ... Sinon utilise des Doevents... Ca permet d'attendre que l'action precedente soit terminer avant de reboucler.

Voili voilou... J'espere que ca va t'aider un peu plus...
Si t'as des questions n'hesites pas.
A++ et bonne prog

DeAtH_-_CrAsH



-------------------------------
Réponse au message :
-------------------------------

Je crois avoir déjà fait un truc simple comme ceci:

(dans un module ou dans la partie commune de ta form):
Public boSentFlag as Boolean

(fonction)
for x = 1 to 100
boSentFlag=False
donnees = "[MSG]BlaBla"
serveur(x).senddata donnees
do while not boSentFlag
next

Sub Serveur_SendComplete(...)
boSentFlag=True
End Sub


Je crois que ça vas fonctionner.

-------------------------------
Réponse au message :
-------------------------------

Une question qui peut sembler débile mais ca fait 5 jours que je trouve pas la solution:
Je fais un genre de chat avec un controle Serveur(100)
je veut qu'il envoie des données à tous ses clients.JE fais donc celà:

for x = 1 to 100
donnees = "[MSG]BlaBla"
serveur(x).senddata donnees
next

Devinez ce qui se passe: seul le client qui est connecté au serveur(100) recoit la réponse
pas les autres. je transforme ce code et ca devient:

for x = 1 to 100
donnees = "[MSG]BlaBla"
serveur(x).senddata donnees
msgox"patientez 0.2 ms"
next

et là Ô magie celà marche. Mais le problème c ke c très lent.
M^me si je met une boucle qui attend 2 ms a la place de la msgbox
celà prend 2 * 100 ms = 2sec ce qui est énorme.De plus si la donnée n'a pas été envoyé en 2 ms
ca marche po évidemment. La sub serveur_sendcomplete(index as.....) n'est pas une fonction(c logique)
donc imossible de faire if serveur_sendcomplete(x) =true then next

donc voila la VRAIE QUESTION: Que faire pour savoir si les données d'un ctrl winsock on été envoyé?
(il faudrait éviter une solution du type : le client envoi "bien recu"->ca prendrait trop de
temps et si un client en début de liste à une connexion foireuse tout le monde attend)
merci au sauveur qui répondra


lundi 8 juillet 2002 à 20:20:04 | Re : Savoir quand winsock a envoyé des données

harddisk



merci makabey et deathCrash. J'avais aussi essayé doevents ca avait pa donner grand chose. JE vais déjà essyer next X et si ca foire tjrs je vais faire la méthode makabey

-------------------------------
Réponse au message :
-------------------------------

Avec une boucle pareil tu risque pas d'aller tres loin lol ... T'incremente jamais la variable x ... en gros tu boucle indefiniment ce qui doit faire foirer ton prog...
Apres Next rajoute x soit Next x ou alors en fin de boucle met x = x +1
Puis pour eviter ce probleme tu peux faire comme Makabey te la dis ... Sinon utilise des Doevents... Ca permet d'attendre que l'action precedente soit terminer avant de reboucler.

Voili voilou... J'espere que ca va t'aider un peu plus...
Si t'as des questions n'hesites pas.
A++ et bonne prog

DeAtH_-_CrAsH



-------------------------------
Réponse au message :
-------------------------------

Je crois avoir déjà fait un truc simple comme ceci:

(dans un module ou dans la partie commune de ta form):
Public boSentFlag as Boolean

(fonction)
for x = 1 to 100
boSentFlag=False
donnees = "[MSG]BlaBla"
serveur(x).senddata donnees
do while not boSentFlag
next

Sub Serveur_SendComplete(...)
boSentFlag=True
End Sub


Je crois que ça vas fonctionner.

-------------------------------
Réponse au message :
-------------------------------

Une question qui peut sembler débile mais ca fait 5 jours que je trouve pas la solution:
Je fais un genre de chat avec un controle Serveur(100)
je veut qu'il envoie des données à tous ses clients.JE fais donc celà:

for x = 1 to 100
donnees = "[MSG]BlaBla"
serveur(x).senddata donnees
next

Devinez ce qui se passe: seul le client qui est connecté au serveur(100) recoit la réponse
pas les autres. je transforme ce code et ca devient:

for x = 1 to 100
donnees = "[MSG]BlaBla"
serveur(x).senddata donnees
msgox"patientez 0.2 ms"
next

et là Ô magie celà marche. Mais le problème c ke c très lent.
M^me si je met une boucle qui attend 2 ms a la place de la msgbox
celà prend 2 * 100 ms = 2sec ce qui est énorme.De plus si la donnée n'a pas été envoyé en 2 ms
ca marche po évidemment. La sub serveur_sendcomplete(index as.....) n'est pas une fonction(c logique)
donc imossible de faire if serveur_sendcomplete(x) =true then next

donc voila la VRAIE QUESTION: Que faire pour savoir si les données d'un ctrl winsock on été envoyé?
(il faudrait éviter une solution du type : le client envoi "bien recu"->ca prendrait trop de
temps et si un client en début de liste à une connexion foireuse tout le monde attend)
merci au sauveur qui répondra





Cette discussion est classée dans : donnees, ms, données, serveur, envoyé


Répondre à ce message

Sujets en rapport avec ce message

Comment envoyer des données Hex a un serveur ? [ par Sparkus ] J'aimerais bien savoir comment envoyer des données Hex a un serveur ?Merci ;-) Récupérer données d'un serveur WEB [ par Lionel ] Bonjour,J'aimerais savoir si comment récupérer des données d'un serveur WEB(par exemple http://www.asp-magazine.com/), je veux dire les fichiers texte Envoie de données sur un serveur Linux sans utiliser FTP [ par Nanabel ] Mon problème est donc d'envoyer des données (images, fichiers texte ...) sur un serveur, sachant que ce dernier est sous Linux et sans utiliser FTP.Co types de donnees [ par eddy ] Je récupère des données dans un fichier texte et je rempli des textBox avec ces valeurs. Le type de données de ces textBox est "scientifique".Malheure Ouvrir une base en cours d'utilisation [ par Lilian ] Salut,J'ai une application MS-DOS qui permet de manipuler les données d'une base dBase IV.Je dois faire une application MS-WINDOWS qui ajoute des fonc modifier 1 BDD sur 1 serveur [ par test66 ] En fait, voila l'état des lieux : Il y a une base de données existante sur un serveur. Je peux visualiser les tables avec Microsoft SQL server 7 mais transfert de données par MsComm [ par Fuutanke ] Bonjour tout le monde.je veux transferer des données d'un poste à un autrevia un modem en utilisant le contrôle MsComm.J'ai fait deux programmes: un s Envoie de données avec Winsock ! [ par seedorf ] salut,mon problème c'est que j'aimerai envoyé d'un client à un serveur des donnée que le server s'occupera par la suite de mettre ds une base de donné BASE DE DONNEES ACCESS [ par reyman ] J'utilise actuellement dans mon application une base de données ACCESS protégé par un mot de passe.Je manipule donc les données par l'intermédiare d'u Matlab et VB ! [ par olivier ] Bonjour à tousJ'ai un énorme problème très urgent et je cherche une âme charitable pour m'aider ...Je dois piloter MATLAB à partir de VisualBasic pour


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 4,040 sec (3)

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