VB.Net/Network Remote/UDP Client
Версия от 16:40, 26 мая 2010; (обсуждение)
Set up a client that reads and displays data sent from server
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
UDP: Client sends packets to, and receives packets from, a server
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