Moin Moin,
ich benötige mal Hilfe
als Anfänger versuche ich über das Netzwerk eine Art Ampelsteuerung zu erstellen Frei / Besetzt. Ich habe vier TextBoxen und möchte das jeder Client eine TextBox ansteuert. Es wäre super wenn mir einer eine Tipp geben könnte wie ich das lösen kann.
Spoiler anzeigen
Verschoben. Code in Spoiler verpackt. ~Thunderbolt
ich benötige mal Hilfe
als Anfänger versuche ich über das Netzwerk eine Art Ampelsteuerung zu erstellen Frei / Besetzt. Ich habe vier TextBoxen und möchte das jeder Client eine TextBox ansteuert. Es wäre super wenn mir einer eine Tipp geben könnte wie ich das lösen kann.
VB.NET-Quellcode
- Public Class frmServer
- Inherits Form
- Private tcpListener As TcpListener
- Private listenThread As Thread
- Private connectedClients As String 'Integer = 0
- Private Delegate Sub WriteMessageDelegate(ByVal msg As String)
- Public Sub New()
- InitializeComponent()
- Server()
- End Sub
- Private Sub Server()
- Me.tcpListener = New TcpListener(IPAddress.Any, 5000)
- Me.listenThread = New Thread(New ThreadStart(AddressOf listenforclients))
- Me.listenThread.Start()
- End Sub
- Private Sub listenforclients()
- Me.tcpListener.Start()
- Do
- Dim client As TcpClient = Me.tcpListener.AcceptTcpClient
- 'Dim Client = tcpListener.AcceptTcpClient
- Dim clientthread As New Thread(New ParameterizedThreadStart(AddressOf HandleClientComm))
- clientthread.Start(client)
- 'MsgBox(CType(client.Client.RemoteEndPoint, IPEndPoint).Address().ToString())
- connectedClients = (CType(client.Client.RemoteEndPoint, IPEndPoint).Address().ToString())
- Loop
- End Sub
- Private Sub HandleClientComm(ByVal client As Object)
- Dim tcpClient As TcpClient = DirectCast(client, TcpClient)
- Dim clientStream As NetworkStream = tcpClient.GetStream()
- Dim message(4095) As Byte
- Dim bytesRead As Integer
- Do
- bytesRead = 0
- Try
- bytesRead = clientStream.Read(message, 0, 4096)
- Catch
- Exit Do
- End Try
- If bytesRead = 0 Then
- connectedClients -= 1
- Exit Do
- End If
- Dim encoder As New ASCIIEncoding
- Dim msg As String = encoder.GetString(message, 0, bytesRead)
- WriteMessage(msg)
- Loop
- tcpClient.Close()
- End Sub
- Private Sub WriteMessage(ByVal msg)
- If rtbBuero1.InvokeRequired() Then
- Dim d As New WriteMessageDelegate(AddressOf WriteMessage)
- rtbBuero1.Invoke(d, New Object() {msg})
- Else
- rtbBuero1.Text = ""
- rtbBuero1.AppendText(msg)
- End If
- End Sub
- Private Sub frmServer_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- End Sub
- Private Sub TableLayoutPanel1_Paint(sender As Object, e As PaintEventArgs) Handles TableLayoutPanel1.Paint
- End Sub
Verschoben. Code in Spoiler verpackt. ~Thunderbolt
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()