Advertisement
Guest User

Client class

a guest
Feb 28th, 2015
387
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Imports System.Net.Sockets
  2. Imports System.Net
  3.  
  4. Public Class Client
  5.     Public lastmessage As String
  6.     Public clientSocket As Socket
  7.     Dim byteData(1023) As Byte
  8.     Public Sub Connect(ByVal IP As String, ByVal Port As Integer)
  9.         Try
  10.             clientSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
  11.             clientSocket.BeginConnect(New IPEndPoint(IPAddress.Parse(IP), Port), New AsyncCallback(AddressOf onConnect), Nothing)
  12.         Catch ex As Exception
  13.             MsgBox("Connect: " & ex.Message)
  14.         End Try
  15.     End Sub
  16.     Private Sub onConnect(ByVal ar As IAsyncResult)
  17.         clientSocket.EndConnect(ar)
  18.         clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None, New AsyncCallback(AddressOf onRecieve), clientSocket)
  19.     End Sub
  20.     Private Sub onRecieve(ByVal ar As IAsyncResult)
  21.  
  22.         Dim client As Socket = ar.AsyncState
  23.         client.EndReceive(ar)
  24.         Dim bytesRec() As Byte = byteData
  25.         lastmessage = System.Text.ASCIIEncoding.ASCII.GetString(bytesRec)
  26.         clientSocket.BeginReceive(byteData, 0, byteData.Length, SocketFlags.None, New AsyncCallback(AddressOf onRecieve), clientSocket)
  27.  
  28.  
  29.     End Sub
  30.     Public Sub Send(ByVal msg As String)
  31.         Dim sendBytes As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(msg)
  32.         clientSocket.BeginSend(sendBytes, 0, sendBytes.Length, SocketFlags.None, New AsyncCallback(AddressOf OnSend), clientSocket)
  33.     End Sub
  34.     Private Sub OnSend(ByVal ar As IAsyncResult)
  35.         Dim client As Socket = ar.AsyncState
  36.         client.EndSend(ar)
  37.     End Sub
  38. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement