Imports System.Threading
Imports System.Net.Sockets
Imports System.IO
Public Class MainClass
Shared Dim connection As Socket
Shared Dim readThread As Thread
Shared Dim socketStream As NetworkStream
Shared Private writer As BinaryWriter
Shared Private reader As BinaryReader
Public Shared Sub Main()
readThread = New Thread(AddressOf RunServer)
readThread.Start()
Try
writer.Write("SERVER>>> " ) ' send data
Console.WriteLine("SERVER>>> " )
connection.Close()
Catch exception As SocketException
Console.WriteLine("Error writing object")
End Try
End Sub
Shared Public Sub RunServer()
Dim listener As TcpListener
Dim counter As Integer = 1
Try
listener = New TcpListener(5000)
listener.Start()
While True
Console.WriteLine("Waiting for connection" )
connection = listener.AcceptSocket()
socketStream = New NetworkStream(connection)
writer = New BinaryWriter(socketStream)
reader = New BinaryReader(socketStream)
Console.WriteLine("Connection " & counter &" received.")
writer.Write("SERVER>>> Connection successful")
Dim theReply As String = ""
Try
Do
theReply = reader.ReadString()
Console.WriteLine(theReply)
Loop While (theReply <> "CLIENT>>> TERMINATE" _
AndAlso connection.Connected)
Catch inputOutputException As IOException
Console.WriteLine("Client application closing")
Finally
Console.WriteLine("User terminated connection")
writer.Close()
reader.Close()
socketStream.Close()
connection.Close()
counter += 1
End Try
End While
Catch inputOutputException As IOException
Console.WriteLine("Server application closing")
End Try
End Sub
End Class