VB.Net Tutorial/Socket Network/Socket Server

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

Date time server based on System.Net.Sockets.Socket

<source lang="vbnet">Imports System.Net Imports System.Net.Sockets Imports System.Threading Imports System.Text Public Class DateTimeServer

 Public Shared Sub Main()
   Dim serverSocket As System.Net.Sockets.Socket
   Try
     Dim hostname As String = Dns.GetHostName()
     Dim serverIP As IPAddress = Dns.Resolve(hostname).AddressList(0)
     Dim Port As String = "13"
     Dim serverhost As New IPEndPoint(serverIP, Int32.Parse(Port))
     serverSocket = New Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp)
     serverSocket.Bind(serverhost)
     serverSocket.Listen(50)
     Console.WriteLine("DateTime server started at: " + serverhost.Address.ToString() + ":" + Port)
     Dim lc As New ListenClient(serverSocket)
     Dim serverthread As New Thread(New ThreadStart(AddressOf lc.ServerThreadProc))
     serverthread.Start()
   Catch ex As Exception
     Console.WriteLine(ex.StackTrace.ToString())
   End Try
 End Sub

End Class

Public Class ListenClient

 Private serverSocket As System.Net.Sockets.Socket
 Public Sub New(ByVal serverSocket As System.Net.Sockets.Socket)
   Me.serverSocket = serverSocket
 End Sub
 Public Sub ServerThreadProc()
   Dim clientSocket As System.Net.Sockets.Socket
   Try
     While (True)
       clientSocket = serverSocket.Accept()
       Dim clientInfo As IPEndPoint = CType( _
           clientSocket.RemoteEndPoint, _
           IPEndPoint)
       Dim serverInfo As IPEndPoint = CType( _
           serverSocket.LocalEndPoint, _
           IPEndPoint)
       Console.WriteLine("Client: " + clientInfo.Address.ToString() + ":" + clientInfo.Port.ToString())
       Console.WriteLine("Server: " + serverInfo.Address.ToString() + ":" + serverInfo.Port.ToString())
       Dim strDate As String = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToLongTimeString()
       Dim byteDateLine() As Byte = Encoding.ASCII.GetBytes(strDate.ToCharArray())
       clientSocket.Send(byteDateLine, byteDateLine.Length, SocketFlags.None)
       Console.WriteLine("To Client: " + clientInfo.Address.ToString() + ":" + clientInfo.Port.ToString() + ": " + strDate)
       clientSocket.Shutdown(SocketShutdown.Both)
       clientSocket.Close()
     End While
   Catch ex As Exception
     Console.WriteLine(ex.StackTrace.ToString())
     If clientSocket.Connected Then
       clientSocket.Close()
     End If
   End Try
 End Sub

End Class</source>

Socket server

<source lang="vbnet">Imports System.Threading Imports System.Net Imports System.Net.Sockets

Public Class ServerSocket

 Public Shared Sub Main()
   Try
     Dim serverSocket As New Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp)
     Dim serverIP As IPAddress = IPAddress.Parse("127.0.0.1")
     Dim Port As String = "80"
     Dim serverhost As New IPEndPoint(serverIP, Int32.Parse(Port))
     serverSocket.Bind(serverhost)
     serverSocket.Listen(50)
     Console.WriteLine("Server started at: " + serverIP.ToString() + ":" + Port)
     Dim lc As New ListenClient(serverSocket)
     Dim serverthread As New Thread(New ThreadStart(AddressOf lc.ServerThreadProc))
     serverthread.Start()
   Catch ex As Exception
     Console.WriteLine(ex.StackTrace.ToString())
   End Try
 End Sub

End Class

Public Class ListenClient

 Private serverSocket As System.Net.Sockets.Socket
 Private clientSocket As System.Net.Sockets.Socket
 Public Sub New(ByVal serverSocket As System.Net.Sockets.Socket)
   Me.serverSocket = serverSocket
 End Sub
 Public Sub ServerThreadProc()
   Do While True
     Try
       Dim clientSocket As Socket = serverSocket.Accept()
       Dim clientInfo As IPEndPoint = CType( _
           clientSocket.RemoteEndPoint, _
           IPEndPoint)
       Dim serverInfo As IPEndPoint = CType( _
           serverSocket.LocalEndPoint, _
           IPEndPoint)
       Console.WriteLine("Client: " + clientInfo.Address.ToString() + ":" + clientInfo.Port.ToString())
       Console.WriteLine("Server: " + serverInfo.Address.ToString() + ":" + serverInfo.Port.ToString())
     Catch ex As Exception
       Console.WriteLine(ex.StackTrace.ToString())
     End Try
   Loop
 End Sub

End Class</source>

Server started at: 127.0.0.1:80
^CTerminate batch job (Y/N)? n

Socket Server with user interface

<source lang="vbnet">Imports System.Text Imports System.Net.Sockets Imports System.Threading Imports System.Windows.Forms public class SocketServerUI

  public Shared Sub Main
       Application.Run(New Form1)
  End Sub

End class Public Class Form1

   Inherits System.Windows.Forms.Form
   Public Sub New()
       MyBase.New()
       InitializeComponent()
   End Sub
   Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
       If disposing Then
           If Not (components Is Nothing) Then
               components.Dispose()
           End If
       End If
       MyBase.Dispose(disposing)
   End Sub
   Private components As System.ruponentModel.IContainer
   Friend WithEvents btnListener As System.Windows.Forms.Button
   Friend WithEvents lblMessage As System.Windows.Forms.Label
   Friend WithEvents lblConnection As System.Windows.Forms.Label
   Friend WithEvents lblPort As System.Windows.Forms.Label
   Friend WithEvents txtPort As System.Windows.Forms.TextBox
   Friend WithEvents btnClose As System.Windows.Forms.Button
   Friend WithEvents txtContent As System.Windows.Forms.TextBox
   Friend WithEvents Label1 As System.Windows.Forms.Label
   Friend WithEvents btnWrite As System.Windows.Forms.Button
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
       Me.btnListener = New System.Windows.Forms.Button()
       Me.lblMessage = New System.Windows.Forms.Label()
       Me.lblConnection = New System.Windows.Forms.Label()
       Me.lblPort = New System.Windows.Forms.Label()
       Me.txtPort = New System.Windows.Forms.TextBox()
       Me.btnClose = New System.Windows.Forms.Button()
       Me.txtContent = New System.Windows.Forms.TextBox()
       Me.Label1 = New System.Windows.Forms.Label()
       Me.btnWrite = New System.Windows.Forms.Button()
       Me.SuspendLayout()
       "
       "btnListener
       "
       Me.btnListener.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.btnListener.Location = New System.Drawing.Point(338, 28)
       Me.btnListener.Name = "btnListener"
       Me.btnListener.Size = New System.Drawing.Size(113, 32)
       Me.btnListener.TabIndex = 0
       Me.btnListener.Text = "Start Listening"
       "
       "lblMessage
       "
       Me.lblMessage.BackColor = System.Drawing.Color.White
       Me.lblMessage.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.lblMessage.Location = New System.Drawing.Point(164, 80)
       Me.lblMessage.Name = "lblMessage"
       Me.lblMessage.Size = New System.Drawing.Size(389, 24)
       Me.lblMessage.TabIndex = 1
       "
       "lblConnection
       "
       Me.lblConnection.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.lblConnection.Location = New System.Drawing.Point(61, 80)
       Me.lblConnection.Name = "lblConnection"
       Me.lblConnection.Size = New System.Drawing.Size(93, 24)
       Me.lblConnection.TabIndex = 2
       Me.lblConnection.Text = "Connection Message"
       "
       "lblPort
       "
       Me.lblPort.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.lblPort.Location = New System.Drawing.Point(41, 33)
       Me.lblPort.Name = "lblPort"
       Me.lblPort.Size = New System.Drawing.Size(113, 24)
       Me.lblPort.TabIndex = 3
       Me.lblPort.Text = "Port"
       "
       "txtPort
       "
       Me.txtPort.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.txtPort.Location = New System.Drawing.Point(164, 31)
       Me.txtPort.Name = "txtPort"
       Me.txtPort.Size = New System.Drawing.Size(133, 26)
       Me.txtPort.TabIndex = 4
       Me.txtPort.Text = ""
       "
       "btnClose
       "
       Me.btnClose.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.btnClose.Location = New System.Drawing.Point(471, 27)
       Me.btnClose.Name = "btnClose"
       Me.btnClose.Size = New System.Drawing.Size(102, 32)
       Me.btnClose.TabIndex = 5
       Me.btnClose.Text = "Stop Connection"
       "
       "txtContent
       "
       Me.txtContent.Location = New System.Drawing.Point(164, 120)
       Me.txtContent.Multiline = True
       Me.txtContent.Name = "txtContent"
       Me.txtContent.Size = New System.Drawing.Size(389, 88)
       Me.txtContent.TabIndex = 6
       Me.txtContent.Text = ""
       "
       "Label1
       "
       Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.Label1.Location = New System.Drawing.Point(61, 120)
       Me.Label1.Name = "Label1"
       Me.Label1.Size = New System.Drawing.Size(93, 24)
       Me.Label1.TabIndex = 7
       Me.Label1.Text = "Data"
       "
       "btnWrite
       "
       Me.btnWrite.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.btnWrite.Location = New System.Drawing.Point(573, 120)
       Me.btnWrite.Name = "btnWrite"
       Me.btnWrite.Size = New System.Drawing.Size(123, 32)
       Me.btnWrite.TabIndex = 8
       Me.btnWrite.Text = "Write"
       "
       "Form1
       "
       Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
       Me.ClientSize = New System.Drawing.Size(716, 261)
       Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnWrite, Me.Label1, Me.txtContent, Me.btnClose, Me.txtPort, Me.lblPort, Me.lblConnection, Me.lblMessage, Me.btnListener})
       Me.Name = "Form1"
       Me.Text = "Form1"
       Me.ResumeLayout(False)
   End Sub
   Dim intPort As Integer
   Dim myTcpListener As TcpListener
   Dim myNetworkStream As NetworkStream
   Private Sub btnListener_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnListener.Click
       Dim myThread As New Thread(New ThreadStart(AddressOf StartListen))
       myThread.Start()
   End Sub
   Private Sub StartListen()
       intPort = Integer.Parse(txtPort.Text)
       myTcpListener = New TcpListener(intPort)
       Dim blnConection As Boolean = False
       Try
           myTcpListener.Start()
           lblMessage.Text = "Waiting..."
           Dim mySocket As Socket = myTcpListener.AcceptSocket()
           Do
               If mySocket.Connected = True Then
                   lblMessage.Text = "Port: " + txtPort.Text + "Connected"
                   myNetworkStream = New NetworkStream(mySocket)
                   Dim strContent As String
                   Dim lngByte As Long = myNetworkStream.ReadByte()
                   Dim myByte(lngByte) As Byte
                   myNetworkStream.Read(myByte, 0, lngByte)
                   strContent = Encoding.ASCII.GetString(myByte, 0, lngByte)
                   txtContent.Text = strContent
               End If
           Loop
       Catch ex As SocketException
           MessageBox.Show _
           (ex.Message, "Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
       End Try
   End Sub
   Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
       myTcpListener.Stop()
   End Sub
   Private Sub btnWrite_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWrite.Click
      
       Dim strTest As String = txtContent.Text
       Dim myBytes() As Byte = Encoding.ASCII.GetBytes(strTest)
       lblMessage.Text = ("Message")
       myNetworkStream.Write(myBytes, 0, myBytes.Length)
   End Sub
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   End Sub

End Class</source>

Using Async Socket Server

<source lang="vbnet">Imports System.Net.Sockets Imports System.Net Imports System.Threading Imports System.Text Imports System.Windows.Forms public class UsingAsyncSocketServer

  public Shared Sub Main
       Application.Run(New Form1)
  End Sub

End class Public Class Form1

   Inherits System.Windows.Forms.Form
   Public Sub New()
       MyBase.New()
       InitializeComponent()
   End Sub
   Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
       If disposing Then
           If Not (components Is Nothing) Then
               components.Dispose()
           End If
       End If
       MyBase.Dispose(disposing)
   End Sub
   Private components As System.ruponentModel.IContainer
   Friend WithEvents btnListener As System.Windows.Forms.Button
   Friend WithEvents lblConnection As System.Windows.Forms.Label
   Friend WithEvents lblPort As System.Windows.Forms.Label
   Friend WithEvents txtPort As System.Windows.Forms.TextBox
   Friend WithEvents btnClose As System.Windows.Forms.Button
   Friend WithEvents btnReceive As System.Windows.Forms.Button
   Friend WithEvents txtMessage As System.Windows.Forms.TextBox
   Friend WithEvents Label1 As System.Windows.Forms.Label
   Friend WithEvents btnSend As System.Windows.Forms.Button
   Friend WithEvents txtAccept As System.Windows.Forms.TextBox
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
       Me.btnListener = New System.Windows.Forms.Button()
       Me.lblConnection = New System.Windows.Forms.Label()
       Me.lblPort = New System.Windows.Forms.Label()
       Me.txtPort = New System.Windows.Forms.TextBox()
       Me.btnClose = New System.Windows.Forms.Button()
       Me.btnReceive = New System.Windows.Forms.Button()
       Me.txtMessage = New System.Windows.Forms.TextBox()
       Me.txtAccept = New System.Windows.Forms.TextBox()
       Me.Label1 = New System.Windows.Forms.Label()
       Me.btnSend = New System.Windows.Forms.Button()
       Me.SuspendLayout()
       "
       "btnListener
       "
       Me.btnListener.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.btnListener.Location = New System.Drawing.Point(338, 24)
       Me.btnListener.Name = "btnListener"
       Me.btnListener.Size = New System.Drawing.Size(113, 32)
       Me.btnListener.TabIndex = 0
       Me.btnListener.Text = "Start"
       "
       "lblConnection
       "
       Me.lblConnection.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.lblConnection.Location = New System.Drawing.Point(41, 72)
       Me.lblConnection.Name = "lblConnection"
       Me.lblConnection.Size = New System.Drawing.Size(92, 24)
       Me.lblConnection.TabIndex = 2
       Me.lblConnection.Text = "Info"
       "
       "lblPort
       "
       Me.lblPort.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.lblPort.Location = New System.Drawing.Point(20, 32)
       Me.lblPort.Name = "lblPort"
       Me.lblPort.Size = New System.Drawing.Size(113, 24)
       Me.lblPort.TabIndex = 3
       Me.lblPort.Text = "Port"
       "
       "txtPort
       "
       Me.txtPort.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.txtPort.Location = New System.Drawing.Point(143, 24)
       Me.txtPort.Name = "txtPort"
       Me.txtPort.Size = New System.Drawing.Size(133, 26)
       Me.txtPort.TabIndex = 4
       Me.txtPort.Text = "36000"
       "
       "btnClose
       "
       Me.btnClose.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.btnClose.Location = New System.Drawing.Point(461, 24)
       Me.btnClose.Name = "btnClose"
       Me.btnClose.Size = New System.Drawing.Size(102, 32)
       Me.btnClose.TabIndex = 5
       Me.btnClose.Text = "Stop"
       "
       "btnReceive
       "
       Me.btnReceive.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.btnReceive.Location = New System.Drawing.Point(276, 248)
       Me.btnReceive.Name = "btnReceive"
       Me.btnReceive.Size = New System.Drawing.Size(175, 32)
       Me.btnReceive.TabIndex = 6
       Me.btnReceive.Text = "Receive"
       "
       "txtMessage
       "
       Me.txtMessage.Location = New System.Drawing.Point(143, 72)
       Me.txtMessage.Multiline = True
       Me.txtMessage.Name = "txtMessage"
       Me.txtMessage.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
       Me.txtMessage.Size = New System.Drawing.Size(430, 88)
       Me.txtMessage.TabIndex = 7
       Me.txtMessage.Text = ""
       "
       "txtAccept
       "
       Me.txtAccept.Location = New System.Drawing.Point(143, 168)
       Me.txtAccept.Multiline = True
       Me.txtAccept.Name = "txtAccept"
       Me.txtAccept.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
       Me.txtAccept.Size = New System.Drawing.Size(430, 64)
       Me.txtAccept.TabIndex = 9
       Me.txtAccept.Text = ""
       "
       "Label1
       "
       Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.Label1.Location = New System.Drawing.Point(10, 168)
       Me.Label1.Name = "Label1"
       Me.Label1.Size = New System.Drawing.Size(144, 24)
       Me.Label1.TabIndex = 8
       Me.Label1.Text = "Data"
       "
       "btnSend
       "
       Me.btnSend.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte))
       Me.btnSend.Location = New System.Drawing.Point(461, 248)
       Me.btnSend.Name = "btnSend"
       Me.btnSend.Size = New System.Drawing.Size(112, 32)
       Me.btnSend.TabIndex = 10
       Me.btnSend.Text = "Data sent back"
       "
       "Form1
       "
       Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
       Me.ClientSize = New System.Drawing.Size(665, 309)
       Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.btnSend, Me.txtAccept, Me.Label1, Me.txtMessage, Me.btnReceive, Me.btnClose, Me.txtPort, Me.lblPort, Me.lblConnection, Me.btnListener})
       Me.Name = "Form1"
       Me.Text = "Form1"
       Me.ResumeLayout(False)
   End Sub
   Dim strMessage
   Dim myListener As Socket
   Dim bteAccept(65536) As Byte
   Dim bteSend(65536) As Byte
   Dim EndSocket As Socket
   Private Sub btnListener_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnListener.Click
       Dim myThread As New Thread(New ThreadStart(AddressOf StartListen))
       myThread.Start()
   End Sub
   Private Sub btnReceive_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReceive.Click
       Dim myThread As New Thread(New ThreadStart(AddressOf ReceiveStart))
       myThread.Start()
   End Sub
   Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Click
       Dim myThread As New Thread(New ThreadStart(AddressOf SendStart))
       myThread.Start()
   End Sub
   Private Sub StartListen()
       Dim intPort As Integer
       Dim bidEndPoint As IPEndPoint
       intPort = Integer.Parse(txtPort.Text)
       bidEndPoint = New IPEndPoint(IPAddress.Parse("10.2.3.127"), intPort)
       myListener = New Socket _
                    (AddressFamily.InterNetwork, _
                    SocketType.Stream, _
                    ProtocolType.Tcp)
       Try
           "  myListener.Bind(bidEndPoint)
           Dim myAsyncCallBack As New AsyncCallback(AddressOf AcceptEnd)
           myListener.Listen(intPort)
           myListener.BeginAccept(myAsyncCallBack, myListener)
           txtMessage.Text += vbCrLf + "Waiting"
           strMessage += "//Head..." + vbCrLf
           strMessage += "//Server Send Message ..." + vbCrLf
           strMessage += "--------------------------------" + vbCrLf
       Catch ex As SocketException
           Console.WriteLine(ex.Message)
       End Try
   End Sub
   Private Sub AcceptEnd(ByVal pIAsyncResult As IAsyncResult)
       EndSocket = myListener.EndAccept(pIAsyncResult)
   End Sub
   Private Sub ReceiveStart()
       Dim myAsyncCallBack As New AsyncCallback(AddressOf ReceiveData)
       EndSocket.BeginReceive _
         (bteAccept, 0, 65536, 0, _
         myAsyncCallBack, EndSocket)
   End Sub
   Private Sub ReceiveData(ByVal pIAsyncResult As IAsyncResult)
       Dim intByte As Integer
       intByte = EndSocket.EndReceive(pIAsyncResult)
       If intByte > 0 Then
           strMessage += Encoding.ASCII.GetString(bteAccept)
           txtAccept.Text = strMessage
       End If
   End Sub
   Private Sub SendStart()
       Dim myAsyncCallBack As New AsyncCallback(AddressOf SendData)
       bteSend = Encoding.ASCII.GetBytes(strMessage)
       EndSocket.BeginSend _
         (bteSend, 0, bteSend.Length, _
         SocketFlags.DontRoute, myAsyncCallBack, EndSocket)
   End Sub
   Private Sub SendData(ByVal pIAsyncResult As IAsyncResult)
       Dim intSend As Integer
       intSend = EndSocket.EndSend(pIAsyncResult)
       txtMessage.Text += vbCrLf + "Data sent " + intSend.ToString + "bytes"
   End Sub
   Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
       myListener.Close()
   End Sub
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   End Sub

End Class</source>