VB.Net/Network Remote/UDP Client — различия между версиями

Материал из VB Эксперт
Перейти к: навигация, поиск
м (1 версия)
 
м (1 версия)
 
(нет различий)

Текущая версия на 12:45, 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