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 :
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 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
Je précise que je suis débutant en .net et que l'erreur est probablement bête.
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 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
Partager