Winsock :

cs_Yan Messages postés 5 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 4 mars 2002 - 3 mars 2002 à 20:55
cs_jc14 Messages postés 10 Date d'inscription lundi 4 mars 2002 Statut Membre Dernière intervention 9 mars 2002 - 8 mars 2002 à 01:23
Voila je code une app client/serveur

Je cherche à faire un serveur multi-clients

bon chez mio je lance le machin la connexion s'établit, cool :)

Je quitte le client.
Je le relande --> Erreur : "Adresse en utilisation"

Si je change de port ca marche une seule fois puis même erreur --> adresse en utilisation.

Je pige pas trop car je fais des CLOSE partout aussi bien le serveur que clients (ps : c le client qui merde apparement)

Je croyais que l'on pouvait ouvrir plusieurs connexions sur le même port alors je pige pas trop ce genre d'erreur.

Sinon je suis sou win xp au cas ou ca puisse être l'origine :)

De l'aide please :)

3 réponses

Stormer Messages postés 2 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 4 mars 2002
4 mars 2002 à 15:28
Oué moi aussi ca me le fait, j' ai une application client qui se connecte au serveur, et j' ai beau faire winsock.close, le port reste ouvert ( j' ai regardé en tapant netstat sous dos )
Si kelkun sait pourkoi et comment faire ca serait kool de répondre
0
cs_Yan Messages postés 5 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 4 mars 2002
4 mars 2002 à 18:11
met localport = 0 chez moi cela a marché
0
cs_jc14 Messages postés 10 Date d'inscription lundi 4 mars 2002 Statut Membre Dernière intervention 9 mars 2002 1
8 mars 2002 à 01:23
Vous devez utiliser les groupes de contrôles avec Winsock du moins côté serveur (mettre la propriété index à 0 et définir les autres propriétés).

Il faut ensuite (dé)charger une nouvelle instance du contrôle à chaque (dé)connection de client.

Exemple de code côté Winsock Serveur au moment où un ordinateur demande une connexion :

Private Sub tcpServer_ConnectionRequest(Index As Integer, ByVal requestID As Long)
  If Index = 0 Then
      intMax = intMax + 1
      Load tcpServer(intMax)
      tcpServer(intMax).LocalPort = 1002
      tcpServer(intMax).Accept requestID
   End If
End Sub


à+
0
Rejoignez-nous