VB.Net/Network Remote/TCP Server
TCP Server Demo
<source lang="vbnet"> Imports System.Net Imports System.Net.Sockets Imports System.IO Imports System.Threading Public Class MainClass
Shared Stream As NetworkStream Public Shared Sub Main() Dim Listener As New TcpListener(11000) Listener.Start() Console.WriteLine("TCP Server Waiting for a connection...") Try Dim Client As TcpClient = Listener.AcceptTcpClient() Console.WriteLine("Connection accepted.") Console.WriteLine(New String("-", 40)) Console.WriteLine() Stream = Client.GetStream() Dim ReceiveThread As New Thread(AddressOf ReceiveData) ReceiveThread.IsBackground = True ReceiveThread.Start() Dim w As New BinaryWriter(Stream) Dim Text As String Do Text = Console.ReadLine() If Text <> "QUIT" Then w.Write(Text) Loop Until Text.ToUpper() = "QUIT" ReceiveThread.Abort() Client.Close() Listener.Stop() Catch Err As Exception Console.WriteLine(Err.ToString()) End Try End Sub Shared Private Sub ReceiveData() Dim r As New BinaryReader(Stream) Do If Stream.DataAvailable Then Console.WriteLine("RECEIVED: " + r.ReadString()) End If Loop End Sub
End Class
</source>
TCP Server socket
<source lang="vbnet"> 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
</source>