| |
VB.NET - Ein- und UmsteigerBeispiel-Formular | | | Autor: Manfred X | Datum: 02.07.15 06:24 |
| Ich habe das Beispiel, auf das Du Dich beziehst ein wenig ausgebaut
Nichts tolles ...!!!
Hier zunächst ein Formular (Windows.Forms-Anwendung), das die
beiden Klassen SynchronousSocketListenerClient/Server verwendet.
Nach dem Start kann das Formular einmal als Server (Button) oder
mehrfach als Client verwendet werden.
Die Socket-Klassen laufen jeweils in eigenen Threads.
Imports System
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Imports Microsoft.VisualBasic
Public Class frmSynchronousSocketDemo
Dim txtMsg As New TextBox With _
{.Parent = Me, .Width = 200, .Height = 200, .Multiline = True}
Dim WithEvents btnServer As New Button With _
{.Parent = Me, .Text = "Start Server", .Top = 210, .Width = 100}
Dim WithEvents btnClient As New Button With _
{.Parent = Me, .Text = "Send Message", _
.Top = 210, .Left = 110, .Width = 100}
Dim WithEvents server As SynchronousSocketListenerServer
Dim client As SynchronousSocketListenerClient
Dim IsServerActive As Boolean
Private Delegate Sub StringDelegate(ByVal str As String)
Dim serverthread As Threading.Thread
Dim ClientThread as Threading.Thread
Private Sub btnServer_Click(sender As System.Object, _
e As System.EventArgs) Handles btnServer.Click
If IsServerActive Then
MsgBox("Der Server ist bereits aktiv") : Exit Sub
End If
'Server-Instanz starten
Me.Text = "Gestartet als Server"
server = New SynchronousSocketListenerServer
Dim threadstart As New Threading.ThreadStart(AddressOf server.Listen)
serverthread = New Threading.Thread(threadstart)
IsServerActive = True
btnClient.Enabled = False
serverthread.Start()
End Sub
Private Sub btnClient_Click(sender As System.Object, _
e As System.EventArgs) Handles btnClient.Click
Me.Text = "Gestartet als Client"
'Text als Nachricht vom Client an den Server senden
client = New SynchronousSocketListenerClient
client.TextToSend = txtMsg.Text
btnServer.Enabled = False
Dim threadstart As New Threading.ThreadStart(AddressOf client.Send)
clientthread = New Threading.Thread(threadstart)
clientthread.Start()
End Sub
Private Sub server_Received(msg As String) Handles server.Received
'Server hat eine Nachricht empfangen
Me.Invoke(New StringDelegate(AddressOf ShowMessage), msg)
End Sub
Private Sub ShowMessage(ByVal msg As String)
txtMsg.Text = "Empfangene Nachricht " & vbcrlf & _
Now.ToString & vbCrLf & msg
End Sub
Private Sub frmSynchronousSocketDemo_FormClosing(sender As Object, _
e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If IsServerActive Then server.Dispose()
End Sub
End Class
Beitrag wurde zuletzt am 02.07.15 um 06:42:27 editiert. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|