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
Server started at: 127.0.0.1:80
^CTerminate batch job (Y/N)? n