Hallo Community,
ich will ein neues Projekt starten, für das ich im Idealfall einen Server und einen Clienten habe. Heißt ich starte auf Computer 1 den Server und Connecte mit Computer 2 über den Clienten auf den Server. Um informationen mit ihm Auszutauschen. Wie Fange ich da am besten an? Kennt ihr Beispiele, die am besten in vb.NET sind?
Würde mich über antworten freuen.
Vielen Dank
Peter86
EDIT:
Könnte dies dafür geeignet sein?
http://www.eggheadcafe.com/articles/20020323.asp
Ich möchte, z.B. im Server eine ComboBox und wenn die ComboBox auf False gestellt ist, bei dem Client in einer Textbox False steht. Ist das damit möglich?
So sieht mein Code zurzeit aus:
Client:
Server:
Probleme:
Der Server kann nur 4 Nachrichten erhalten, danach passiert nichts mehr.
Anscheinend ist er auch nicht Multiclient fähig.
Verbesserungs Vorschläge?
ich will ein neues Projekt starten, für das ich im Idealfall einen Server und einen Clienten habe. Heißt ich starte auf Computer 1 den Server und Connecte mit Computer 2 über den Clienten auf den Server. Um informationen mit ihm Auszutauschen. Wie Fange ich da am besten an? Kennt ihr Beispiele, die am besten in vb.NET sind?
Würde mich über antworten freuen.
Vielen Dank
Peter86
EDIT:
Könnte dies dafür geeignet sein?
http://www.eggheadcafe.com/articles/20020323.asp
Ich möchte, z.B. im Server eine ComboBox und wenn die ComboBox auf False gestellt ist, bei dem Client in einer Textbox False steht. Ist das damit möglich?
So sieht mein Code zurzeit aus:
Client:
Code:
Imports System.Net.Sockets
Imports System.Text
Public Class Form1
Private SimpleClient As New TcpClient
Private Stream As NetworkStream
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SimpleClient.Connect("127.0.0.1", 25)
Stream = SimpleClient.GetStream
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(TextBox1.Text)
Stream.Write(sendBytes, 0, sendBytes.Length)
End Sub
End Class
Server:
Code:
Imports System.Net.Sockets
Imports System.Text
Public Class Form1
Private SimpleServer As TcpListener
Private Client As New TcpClient
Private Stream As NetworkStream
Dim bytes() As Byte
Private Sub OnConnect(ByVal ar As System.IAsyncResult)
Client = SimpleServer.EndAcceptTcpClient(ar)
Stream = Client.GetStream
ReDim bytes(Client.ReceiveBufferSize)
Stream.BeginRead(bytes, 0, CInt(Client.ReceiveBufferSize), AddressOf onGetData, New Object)
End Sub
Private Sub onGetData(ByVal ar As System.IAsyncResult)
Dim clientdata As String = Encoding.ASCII.GetString(bytes)
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(clientdata)
Dim msg
Dim send_msg As New pDel(AddressOf daten_erhalten)
Try
Stream.Write(sendBytes, 0, sendBytes.Length)
Stream.BeginRead(bytes, 0, CInt(Client.ReceiveBufferSize), AddressOf onGetData, New Object)
msg = clientdata
Me.Invoke(send_msg, msg)
Catch
msg = "Client Disconnected"
Me.Invoke(send_msg, msg)
End Try
End Sub
Delegate Sub pDel(ByVal msg As String)
Sub daten_erhalten(ByVal clientdata As String)
If TextBox1.Text = String.Empty Then
TextBox1.Text &= TimeOfDay & ": " & clientdata
Else
TextBox1.Text &= vbNewLine & TimeOfDay & ": " & clientdata
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SimpleServer = New TcpListener(System.Net.IPAddress.Parse(0), 25)
SimpleServer.Start()
SimpleServer.BeginAcceptTcpClient(AddressOf OnConnect, New Object)
End Sub
End Class
Der Server kann nur 4 Nachrichten erhalten, danach passiert nichts mehr.
Anscheinend ist er auch nicht Multiclient fähig.
Verbesserungs Vorschläge?
Zuletzt bearbeitet: