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 :

.NET Remoting, connection au serveur


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Points : 30
    Points
    30
    Par défaut .NET Remoting, connection au serveur
    Bonjour,

    J'essaye de créer une petite appli client-serveur.
    je viens de faire le tuto .NET Remoting et jusque la tout vas bien.

    J'aimerais modifier un peu l'exemple afin de pouvoir entrer à la main dans une text-box l'adresse de mon serveur pour ne pas l'avoir codée en dur dans mon programme.

    Je récupère donc la valeur par défaut de ma textbox pour me connecter au début du programme et la ca marche.

    En revanche j'ai créer un bouton pour me connecter une fois l'adresse tapée et je demande la connection au clic et la ca ne marche plus.

    Quelqu'un saurait-il ma dire pourquoi?

    Pour être plus clair voici le code qui fonctionne :
    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
    Imports System.Runtime.Remoting
    Imports System.Runtime.Remoting.Channels
    Imports System.Runtime.Remoting.Channels.Tcp
     
    Public Class Form1
     
        Dim remoteOperation As RemotingInterfaces.IRemoteOperation
     
        Public Sub New()
            InitializeComponent()
            Connect()
        End Sub 'New
        Public Function Connect()
            Try
                Dim channel As TcpChannel = New TcpChannel
                Dim ensureSecurity As Boolean = True
                ChannelServices.RegisterChannel(channel, ensureSecurity)
                remoteOperation = CType(Activator.GetObject(GetType(RemotingInterfaces.IRemoteOperation), _
                                                            TXT_Addr_Srv.Text), RemotingInterfaces.IRemoteOperation)
            Catch
                MessageBox.Show("Erreur de connexion au serveur")
            End Try
            Return Nothing
        End Function
     
     
        Private Sub buttonAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonAdd.Click
            Try
                If (Not (remoteOperation) Is Nothing) Then
                    Dim a As Integer = Int32.Parse(textBoxA.Text)
                    Dim b As Integer = Int32.Parse(textBoxB.Text)
                    textBoxResAdd.Text = remoteOperation.Addition(a, b).ToString
                End If
            Catch
                MessageBox.Show("Erreur !")
            End Try
        End Sub
     
        Private Sub buttonInc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonInc.Click
            Try
                If (Not (remoteOperation) Is Nothing) Then
                    Dim valeur As Integer = Int32.Parse(textBoxValeur.Text)
                    textBoxResInc.Text = remoteOperation.Incrementation(valeur).ToString
                End If
            Catch
                MessageBox.Show("Erreur !")
            End Try
        End Sub
     
    End Class
    Et celui qui ne fonctionne pas :

    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
    Imports System.Runtime.Remoting
    Imports System.Runtime.Remoting.Channels
    Imports System.Runtime.Remoting.Channels.Tcp
     
    Public Class Form1
     
        Dim remoteOperation As RemotingInterfaces.IRemoteOperation
     
        Public Sub New()
            InitializeComponent()
        End Sub 'New
        Public Function Connect()
            Try
                Dim channel As TcpChannel = New TcpChannel
                Dim ensureSecurity As Boolean = True
                ChannelServices.RegisterChannel(channel, ensureSecurity)
                remoteOperation = CType(Activator.GetObject(GetType(RemotingInterfaces.IRemoteOperation), _
                                                            TXT_Addr_Srv.Text), RemotingInterfaces.IRemoteOperation)
            Catch
                MessageBox.Show("Erreur de connexion au serveur")
            End Try
            Return Nothing
        End Function
     
     
        Private Sub buttonAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonAdd.Click
            Try
                If (Not (remoteOperation) Is Nothing) Then
                    Dim a As Integer = Int32.Parse(textBoxA.Text)
                    Dim b As Integer = Int32.Parse(textBoxB.Text)
                    textBoxResAdd.Text = remoteOperation.Addition(a, b).ToString
                End If
            Catch
                MessageBox.Show("Erreur !")
            End Try
        End Sub
     
        Private Sub buttonInc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonInc.Click
            Try
                If (Not (remoteOperation) Is Nothing) Then
                    Dim valeur As Integer = Int32.Parse(textBoxValeur.Text)
                    textBoxResInc.Text = remoteOperation.Incrementation(valeur).ToString
                End If
            Catch
                MessageBox.Show("Erreur !")
            End Try
        End Sub
     
        Private Sub Bt_Connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bt_Connect.Click
            Connect()
        End Sub
    End Class
    Je précise que je suis débutant en .net et que l'erreur est probablement bête.
    Je suppose que dans mon "public sub new" il me faut une instruction qui attende le clic ou quelque chose comme ca mais je ne trouve pas quoi mettre

    Merci d'avance

  2. #2
    Membre averti Avatar de Sacha999
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 350
    Points
    350
    Par défaut
    Met un point d'arrêt dans la méthode "Private Sub Bt_Connect_Click" et regarde si quand tu cliques sur le bouton pour te connecter, il rentre bien dedans et dans ce cas fais du pas à pas et vois ce qu'il se passe dans "Connect()" ensuite.

    Si tu as d'autres éléments à ajouter qui pourraient nous aider
    Le forum c'est trop génial

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    Ok en pas à pas ca a passé nickel, je ne comprend pas pourquoi ca n'as pas marché la première fois...

    Merci quand même, problème résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/07/2007, 15h05
  2. Réponses: 2
    Dernier message: 01/02/2007, 22h04
  3. Réponses: 2
    Dernier message: 13/01/2007, 16h02
  4. Réponses: 4
    Dernier message: 03/01/2007, 13h32
  5. Réponses: 1
    Dernier message: 02/05/2006, 13h22

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