服务器客户端应用程序vb.net

服务器客户端应用程序vb.net,vb.net,Vb.net,我尝试将服务器-客户机-应用程序-服务器-客户机分离 客户机代码似乎没有错误,但在服务器上我得到了一个错误,但我没有让它工作 这是一个错误 Error 1 Handles clause requires a WithEvents variable defined in the containing type or one of its base types. c:\users\monchique discovery\documents\visual studio 2012\Projec

我尝试将服务器-客户机-应用程序-服务器-客户机分离 客户机代码似乎没有错误,但在服务器上我得到了一个错误,但我没有让它工作 这是一个错误

Error   1   Handles clause requires a WithEvents variable defined in the containing type or one of its base types.  c:\users\monchique discovery\documents\visual studio 2012\Projects\serverxpto\serverxpto\frmServer.vb   36  120 serverxpto
这是我的服务器代码

Imports System.Net, System.Net.Sockets
Public Class frmServer
Dim serverSocket As Socket
Dim clientSocket As Socket

Private Sub frmServer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    serverSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
    Dim IpEndPoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 8800)
    serverSocket.Bind(IpEndPoint)
    serverSocket.Listen(5)
    serverSocket.BeginAccept(New AsyncCallback(AddressOf OnAccept), Nothing)
End Sub
Private Sub OnAccept(ByVal ar As IAsyncResult)
    clientSocket = serverSocket.EndAccept(ar)
    serverSocket.BeginAccept(New AsyncCallback(AddressOf OnAccept), Nothing)
    AddClient(clientSocket)
End Sub
Delegate Sub _AddClient(ByVal client As Socket)
Private Sub AddClient(ByVal client As Socket)
    If InvokeRequired Then
        Invoke(New _AddClient(AddressOf AddClient), client)
        Exit Sub
    End If
    Dim lvi As New ListViewItem(client.LocalEndPoint.ToString)
    lvi.Tag = client
    lsvClients.Items.Add(lvi)
End Sub
Private Sub Send(ByVal msg As String, ByVal client As Socket)
    Dim sendBytes As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(msg)
    client.BeginSend(sendBytes, 0, sendBytes.Length, SocketFlags.None, New AsyncCallback(AddressOf OnSend), client)
End Sub
Private Sub OnSend(ByVal ar As IAsyncResult)
    Dim client As Socket = ar.AsyncState
    client.EndSend(ar)
End Sub
Private Sub SendMessageToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SendMessageToolStripMenuItem.Click
    Send("Message from server", lsvClients.SelectedItems(0).Tag)
End Sub
End Class