Provo ad aiutarti ma sono alle prime armi spero ti sia di aiuto Allora non so se è giusto ma io ho risolto con il While cosi il server continua ad ascoltare vb.net
Ti posto l'esempio server :

Dim Client As New TcpClient
Const portNumber As Integer = 2399
Dim tcpListener As New System.Net.Sockets.TcpListener(portNumber)


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Try
tcpListener.Start()


While True

client = tcpListener.AcceptTcpClient


Label1.Text = ("Connection accepted.")
Me.Show()
Timer1.Enabled = True
'----------
ReDim data(client.ReceiveBufferSize)
SendMessage("Server On Line!" & vbCrLf)
'---read from server
client.GetStream.BeginRead(data, 0, _
CInt(client.ReceiveBufferSize), _
AddressOf ReceiveMessage, Nothing)


End While
client.Close()


Catch ex As SocketException
MsgBox(e.ToString())
Finally
client.Close()
End Try




End Sub