Problème de connection grave

Résolu
ianis24 Messages postés 87 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 13 janvier 2011 - 16 mai 2009 à 19:02
ianis24 Messages postés 87 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 13 janvier 2011 - 19 mai 2009 à 19:46
Bonjour a tous je présente mon problème :

Je n'arrive pas a établir de connexion en local en utilisant mon ip public 86.72.181.xx.
cela fonctionne lorsque j'utilise mon ip de réseau 192.168.1.20.
La connexion ne s'établit pas correctement, le client et le serveur restent en sockconnecting  (6) ou sock error (9).
C'est a dire que le serveur recoi bien une demande de connection mais ne l'accepte pas.
J'utilise la 9Box
Visual Basic est en exption dans le parfeu windows.
j'ai ouvert les ports sur le NAT dur routeur (9box).

=========================

------------------------
client :
------------------------
Client.Connect "86.72.181.xx", 2850

=========================

------------------------

Serveur:

------------------------

Private Sub Form_Load()

Server.Bind txtPort
Server.Listen
End Sub
_____________________

Private Sub Server_ConnectionRequest(ByVal requestID As Long)
Server.CloseSck
Server.Accept requestID
End Sub


=========================

Ianis

11 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
18 mai 2009 à 23:18
désolé mais pas possible...

j'ai essayé en local, sur mon ip public et même sur la tienne
un "9" provoqué est relevé, et je suis en timeout pour toi, donc il y a une cafouille pour le debugging, et
ton routeur est peut-être mal configuré("peut-être", si j'ai essayé quand ton appli server n'était pas lancée)
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
16 mai 2009 à 23:11
salut,

problème 1 : "ouvrir les ports" ne suffit pas, il faut rediriger le port (en l'occurrence le 2850) vers le 2850 de ta machine (...1.20)
FAQ :
Q : [../doc/faq.aspx#common_nat Mon application de communication (chat,
messenger, jeu, autre) fonctionne uniquement en réseau local, que faut-il
faire pour qu'elle fonctionne sur internet]


problème 2 : es-tu certain de bien utiliser le winsock de microsoft? (MSWINSCK.OCX)
de mémoire... la méthode "Server.CloseSck" n'existe pas !
(et j'ai un petit doute pour "Server.Bind") 
Server.Close
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
17 mai 2009 à 10:43
Bind existe ... mais on ne peut s'en servir qu'en UDP.
CloseSck n'existe tout simplement pas.

Pour faire serveur TCP, tu dois absolument avoir au minimum 2 sockets : un qui attend les demandes et un autre par client.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 mai 2009 à 11:10
ah oui UDP..., j'me disais bien...

par contre le rôle serveur peut être effectué avec un seul socket, mono-connexion
"un autre par le client" oui...., dans l'autre projet
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ianis24 Messages postés 87 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 13 janvier 2011
17 mai 2009 à 15:43
[auteur/PCPT/401740.aspx PCPT] >


problème 1 : déjà fait quand je disait ouvrir c'était plutôt rediriger


problème 2 : closesck est utiliser avec le csocketmaster qui est quasiment identique au winsock.
et bind peut s'utiliser en TCP

Cela ne résous pas mon problème =)
Ianis
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 mai 2009 à 16:00
met en TCP
ne BIND pas
teste avec le mswinsock, pour voir....
(je ne connais pas le csocketmaster, et apparemment tu mélanges les méthodes tcp/udp)
0
ianis24 Messages postés 87 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 13 janvier 2011
17 mai 2009 à 16:05
===================
Serveur :
===================
Private Sub Form_Load()
Winsock1.LocalPort = 2850
Winsock1.Listen
End Sub

Private Sub Timer1_Timer()
Form1.Caption = Winsock1.State
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
End Sub
------------------------------
==================
Client
==================

Private Sub Form_Load()
Winsock1.Connect "86.72.181.88", 2850
End Sub

-------------------------------------------

Je lance le serveur ensuite le client

Sock state = 9

Ianis
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 mai 2009 à 16:21
toujours faire un CLOSE dans le _Load

donc 1 avant le listen, et 1 avant le connect

toujours un close en fermeture
donc des CLOSE dans le _Error des sockest, et dans le _UnLoad des deux forms

ps : as-tu bien rebooté ton routeur après avoir configuré ta NAT ?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 mai 2009 à 16:39
... et si tu es en état  9 = erreur, quel est l'erreur relevée par le winsock?
0
ianis24 Messages postés 87 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 13 janvier 2011
18 mai 2009 à 18:40
déjà essayer aucune erreur il passe juste en sock 9

Ianis
0
ianis24 Messages postés 87 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 13 janvier 2011
19 mai 2009 à 19:46
je pense que c'est ça.
0
Rejoignez-nous