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

VB.NET Discussion :

Liaison serveur -> client


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 44
    Points
    44
    Par défaut Liaison serveur -> client
    kikoo
    quelqu'un aurait-il de l'experience en reseau via .net ?

    car la j'ai un probleme qui m'empeches de finir mon projet
    j'ai un logiciel server et un logiciel client
    chacun d'entre eux demarre un "server d'ecoute" du reseau et traite les infos si il y en a

    probleme, j'arrive a communiquer dans le sens client->server mais pas l'inverse alors que le code est copier/coller et seul les adresses IP sont changer en consequence

    si quelqu'un a une idee ca serait cool

    j'ai meme essayer de changer les ports mais rien a faire :s

  2. #2
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    C'est bizarre, donne ton code des deux cotés

    Ton port est bien le meme des deux cotés ? Sinon as tu un routeur ? c'est peut etre lui qui bloque la connexion !
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    pour les routeurs oui il y en a je suis dans une universite
    mais j'ai demander et normallement ils ne me bloquent en rien comme je travaille avec 2 ordis cote a cote, j'en suis pas tres sur dans le sens ou les adresses IP different "172.16.11.255" et "172.16.10.237"

    Code : 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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
        Public Class server
            Public Shared ipadress = System.Configuration.ConfigurationSettings.AppSettings("ipadress")
            Public Shared port = System.Configuration.ConfigurationSettings.AppSettings("port")
            Public Shared arret As Boolean = False
     
            Public Shared Sub Main()
                Dim erreurPort As Boolean = False
                Dim E As Exception = Nothing
     
                ' creation of listening service
                Dim ecoute As TcpListener = Nothing
                Dim nbClients As Integer = 0
                Try
                    ecoute = New TcpListener(IPAddress.Parse(ipadress), port)
                    ' start service
                    ecoute.Start()
                    ' reading loop
                    Dim Cust As TcpClient = Nothing
                    While True Or arret = True
                        ' wait information
                        Cust = ecoute.AcceptTcpClient()
                        ' when customer send something, server create one new thread which manage the request
                        nbClients += 1
                        Dim tache As Thread = New Thread(New ThreadStart(AddressOf New CustomerStatement(Cust, nbClients).Run))
                        tache.Start()
                    End While
     
     
                Catch ex As Exception
                    erreur("Error : " + ex.Message, 3)
                End Try
                ' fin du service
                ecoute.Stop()
            End Sub
    end class
     
        Public Class CustomerStatement
            Private sql As String
            Private Cust As TcpClient ' our customer
            Private numClient As Integer ' customer number
            Private [IN] As StreamReader ' reading flux
            Private OUT As StreamWriter ' writting flux
            ' builder
            Public Sub New(ByVal Cust As TcpClient, ByVal numClient As Integer)
                Me.Cust = Cust
                Me.numClient = numClient
            End Sub
            ' méthode run
            Public Sub Run()
                Try
                    [IN] = New StreamReader(Cust.GetStream())
                    OUT = New StreamWriter(Cust.GetStream())
                    OUT.AutoFlush = True
                    'statement sub
                    statement()
                    'end statement
                    Cust.Close()
                Catch e As Exception
                    errorInf("Error when the connection was closing" & e.ToString, 2)
                End Try
            End Sub
    end class
     
    Public Class SendInformation
            'send information to one customer
            Public Shared ipadress = "172.16.11.255" 
            Public Shared port = 101 
     
            Public Shared Sub Main(ByVal message As String)
                Dim client As TcpClient = Nothing ' our customer
                Dim [IN] As StreamReader = Nothing ' reading flux
                Dim OUT As StreamWriter = Nothing ' writting flux
                Dim close As Boolean = False
                Dim answer As String = Nothing
                Dim limit As Integer = 0 'limit the number of lap
     
                Try
                    'connexion with the customer
                    client = New TcpClient(ipadress, port)
                    'Creation of flux in order to communicate
                    [IN] = New StreamReader(client.GetStream())
                    OUT = New StreamWriter(client.GetStream())
                    OUT.AutoFlush = True
     
                    While (close = False Or limit = 10)
                        ' send information
                        OUT.WriteLine(message)
                        ' read answer
                        answer = [IN].ReadLine()
                        answer = answer.Substring(3, 2)
                        If answer = "99" Then
                            close = True
                        End If
                        limit += 1
                    End While
                    If limit = 10 Then
                        MessageBox.Show("Retry this action", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    End If
                    client.Close()
                Catch ex As Exception
                    erreur(ex.Message, 3)
                End Try
            End Sub
    end class
    port de communication client->serveur : 100
    port de communication serveur->client : 101

    merci d'avance

  4. #4
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Le port doit etre le meme pour la connexion serveur/client et Client/serveur
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    ca ne veut pas
    je viens de retenter

  6. #6
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Je comprends ton probleme car si le port n'est pas le meme comment veux tu que le client se connecte au serveur ? Verifie les IP sinon c'est la faute au routeur chez moi ca m'arrive très souvent !
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    non c'est 2 connexions differentes
    j'ai une connexion qui emet des informations a partir du serveur vers le client qui fonctionnait sur le port 101
    et une connexion qui emet du client vers le serveur qui fonctionnait sur le port 100

    les IP sont checkees et recheckees lol je verrais demain avec les admins reseau ici

  8. #8
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Ah ok c'est deux connexions différentes... dans ce cas la c'est bizarre.
    Bonne chance :
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  9. #9
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 124
    Points : 150
    Points
    150
    Par défaut
    Ton adresse IP "172.16.11.255" n'est pas bonne..
    Verifie ca devrait etre entre 172.16.11.1 et 172.16.11.254

  10. #10
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    ca braodcast ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    En théorie tes IP devrait etre sous la forme : 192.168.XXX.XXX
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  12. #12
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 124
    Points : 150
    Points
    150
    Par défaut
    Citation Envoyé par Aspic
    En théorie tes IP devrait etre sous la forme : 192.168.XXX.XXX
    non.. c'est faux..
    172.16.0.0 fait aussi partie des "Ip Privé" si c'est ce que tu voulais dire..
    De meme que 10.0.0.0 ..
    Le seul truc qui est faux dans l'Ip de hyipicai c'est le 255, comme le dis sperot51 ca Broadcast.. (envoie des packets à tout le subnet)

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    ouais c'est bien ce que je me disais aussi

    bon apres check up le pc galerer a fond
    effectivement j'ai changer l'IP il reste un probleme ceci dit etant donner que si je lance les 2 progs sur la meme machine ca tourne et pas si je lance sur les 2 machines

    je vais aller voir les admin ici
    je vous tiens au courrant si c'est pas un probleme de machine

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    bon ba c'est la machine qui craque lol ils sont partis la format ^^

    on a essayer avec une autre et ca marche nikel

  15. #15
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par remy_74
    non.. c'est faux..
    172.16.0.0 fait aussi partie des "Ip Privé" si c'est ce que tu voulais dire..
    De meme que 10.0.0.0 ..
    Le seul truc qui est faux dans l'Ip de hyipicai c'est le 255, comme le dis sperot51 ca Broadcast.. (envoie des packets à tout le subnet)
    192.168.XXX.XXX ===> c'est pour les routeurs
    10.0.0.0, 10.0.0.1 ... 172.16.0.0 ... ===> c'est pour le local...
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    Citation Envoyé par Aspic
    192.168.XXX.XXX ===> c'est pour les routeurs
    certainement pas

    il y a des classes A,B ou C dans les connexions reseaux. l'adressage depends de la configuration du reseau c'est a dire combien de client tu vas mettre derriere un switch ou un routeur ou du "decoupage" de ton reseau

  17. #17
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par hyipicai
    certainement pas

    il y a des classes A,B ou C dans les connexions reseaux. l'adressage depends de la configuration du reseau c'est a dire combien de client tu vas mettre derriere un switch ou un routeur ou du "decoupage" de ton reseau
    Si tu le dis
    En tout cas chez moi c'est pas comme ca

    J'ai 3 PC en local avec des IP : 10.0.0.X et avec mon routeur mes ip sont de la forme : 192.168.0.XXX

    Mais bon c'est valable chez moi et peut etre pas ailleur
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  18. #18
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 124
    Points : 150
    Points
    150
    Par défaut
    Citation Envoyé par Aspic
    Si tu le dis
    En tout cas chez moi c'est pas comme ca

    J'ai 3 PC en local avec des IP : 10.0.0.X et avec mon routeur mes ip sont de la forme : 192.168.0.XXX

    Mais bon c'est valable chez moi et peut etre pas ailleur
    Un routeur est un noeud reseau qui peux avoir plein d'ip differente.. Comme les pc ou serveurs etc...
    On utilise les adresses Ip privé car elle ne sont pas "routable" sur le Net (en théorie) mais sinon les Ip privées sont comme les autres..
    Heuresement sinon Internet ne fonctionnerai pas bien..

  19. #19
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2007
    Messages : 70
    Points : 54
    Points
    54
    Par défaut
    Salut,

    J'ai essayé de faire un truc a peu près similaire. Et j'avais le meme pb que toi, si les 2 applis etaitent sur mon poste, ça fonctionnait nickel, par contre lorsque je mettais les 2 applis sur des postes differents, ça ne marchait plus.

    Ce que j'ai fait c'est que j'ai mis un port superieur à 5000, j'ai lu sur internet que ça déconnait en dessous de cette valeur. Pourquoi je ne m'en souviens plus, mais bon en tout cas après ça fonctionnait....

    Tu peux essayer de voir si ça marche chez toi.

    Bon courage.

  20. #20
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2007
    Messages : 70
    Points : 54
    Points
    54
    Par défaut
    J'avais pas bien regardé ton code, moi je suis passé par des sockets, et non par les classes TcpListener... mais comme ce sont des classes dérivées de la classe socket, c'est possible que ça soit le meme pb...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. liaison d'un client à un serveur existant
    Par ledawa dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 16/05/2008, 10h40
  2. Réponses: 4
    Dernier message: 16/08/2004, 17h03
  3. Client-Serveur Dcom = Client+Serveur lancés sur la machine ?
    Par Jilam dans le forum Bases de données
    Réponses: 6
    Dernier message: 27/07/2004, 14h55
  4. Serveur Multi-clients
    Par darsky dans le forum C++Builder
    Réponses: 5
    Dernier message: 16/04/2004, 09h53
  5. Création d'un Serveur Multi Client
    Par N*E*R*D dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 16/03/2004, 17h13

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