Bonjour,
J'utilise le httplistener et de celui-ci je souhaiterais afficher la requete sur l'UI. J'utilise un delegate (surement mal ) mais j'ai toujours ce message d'erreur.
Pourriez vous me dire où je me trompe ?
Le code du serveur http
Code VB.NET : 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 Imports System.Net Imports System.Threading Imports System.IO Public Class ServeurHTTP Private hl As HttpListener Dim listenForNextRequest As AutoResetEvent = New AutoResetEvent(False) Public Sub Start() hl = New HttpListener() hl.Prefixes.Add("http://*:5500/") hl.IgnoreWriteExceptions = True hl.Start() ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf ListenHTTP)) End Sub Private Sub ListenHTTP(state As Object) While (hl.IsListening) hl.BeginGetContext(New AsyncCallback(AddressOf ListenerCallback), hl) listenForNextRequest.WaitOne() End While End Sub '************************************************************************************************ ''' <summary> ''' Manage request and answer to client ''' </summary> ''' <param name="ar"></param> ''' Private Sub ListenerCallback(ar As IAsyncResult) ' Get request Dim listener As HttpListener = ar.AsyncState Dim context As System.Net.HttpListenerContext = Nothing If (listener Is Nothing) Then Return Try context = listener.EndGetContext(ar) Catch Return Finally listenForNextRequest.Set() End Try ' Route request Dim Result As String = "" Dim route As String = context.Request.Url.LocalPath.ToString() MainForm.BeginInvoke(New MainForm.d_MajRTB(AddressOf MainForm.MajRTB), "test") ' <------ ICI
et le code de l'UI
Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Public Class MainForm Public server As New ServeurHTTP Delegate Sub d_MajRTB(ByVal text As String) Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load server.Start() End Sub Sub MajRTB(text As String) End Sub End Class
Partager