VB.Net/Network Remote/UDP Client
Set up a client that reads and displays data sent from server
<source lang="vbnet"> Imports System.Threading Imports System.Net.Sockets Imports System.IO Public Class MainClass
Shared Dim output As NetworkStream Shared Dim writer As BinaryWriter Shared Dim reader As BinaryReader Shared Dim message As String = "" Shared Dim readThread As Thread Public Shared Sub Main() readThread = New Thread(AddressOf RunClient) readThread.Start() Try writer.Write("CLIENT>>> ") Console.WriteLine("CLIENT>>> ") Catch exception As SocketException Console.WriteLine("Error writing object") End Try End Sub Shared Public Sub RunClient() Dim client As TcpClient Try Console.WriteLine("Attempting connection" ) client = New TcpClient() client.Connect("localhost", 5000) output = client.GetStream() writer = New BinaryWriter(output) reader = New BinaryReader(output) Console.WriteLine("Got I/O streams") Try Do message = reader.ReadString Console.WriteLine(message) Loop While message <> "SERVER>>> TERMINATE" Catch inputOutputException As IOException Console.WriteLine("Client application closing") Finally Console.WriteLine("Closing connection.") writer.Close() reader.Close() output.Close() client.Close() End Try Catch inputOutputException As Exception Console.WriteLine("Client application closing") End Try End Sub
End Class
</source>
UDP: Client sends packets to, and receives packets from, a server
<source lang="vbnet"> Imports System.Threading Imports System.Net.Sockets Imports System.IO Imports System.Net
Public Class MainClass
Shared Dim client As UdpClient Shared Dim receivePoint As IPEndPoint
Public Shared Sub Main() receivePoint = New IPEndPoint(New IPAddress(0), 0) client = New UdpClient(5001) Dim thread As Thread = New Thread(New ThreadStart(AddressOf WaitForPackets)) thread.Start()
Dim packet As String = "client" Console.WriteLine("Sending packet containing: ") Dim data As Byte() = System.Text.Encoding.ASCII.GetBytes(packet) client.Send(data, data.Length, "localhost", 5000) Console.WriteLine("Packet sent") End Sub Shared Public Sub WaitForPackets() While True Dim data As Byte() = client.Receive(receivePoint) Console.WriteLine("Packet received:" & _ vbCrLf & "Length: " & data.Length & vbCrLf & _ System.Text.Encoding.ASCII.GetString(data)) End While End Sub " WaitForPackets
End Class
</source>