VB.Net/Network Remote/UDP Client

Материал из VB Эксперт
Версия от 15:45, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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>