title: .NET VB How to have Server Listen on Multiple Ports?
body: <p>I'm writing a very small and simple server that I want to listen on multiple ports. </p>
  
  <p>I'm using the below, but connections to port 8081 are not being accepted - any suggestions what I'm doing wrong?</p>
  
  <p>(I actually want to listen on multiple ports, I'm not confusing multiple connections)</p>
  
  <pre><code>Public Sub StartServer()
  
      Dim ports() As Integer = {8080, 8081}
      Dim portList As String = ""
  
  
  
      Dim address As IPAddress = IPAddress.Any
  
      ' map the end point with IP Address and Port
      'Create Endpoints
      Dim EndPoints(ports.Length) As IPEndPoint
  
      'Create sockets
      Dim Sockets(ports.Length) As Socket
  
      Dim i As Integer = 0
      For i = 0 To ports.Length - 1
          portList = portList &amp; ports(i) &amp; " : "
          EndPoints(i) = New IPEndPoint(address, ports(i))
          Sockets(i) = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
          Sockets(i).Bind(EndPoints(i))
          Sockets(i).Listen(20)
  
          Log("Listening on: All ips &amp;  Port: " &amp; ports(i))
  
  
      Next
  
      Log("Listening on: All ips &amp;  Ports: " &amp; portList)
  
  
  
      Do While Not Me.DoStop
          ' Wait for an incoming connections
          For i = 0 To ports.Length - 1
              Dim sock As Socket = Sockets(i).Accept()
  
  
              ' Connection accepted
  
              ' Initialise the Server class
              Dim ServerRun As New Server(sock)
  
              ' Create a new thread to handle the connection
              Dim t As Thread = New Thread(AddressOf ServerRun.HandleConnection)
  
  
              t.IsBackground = True
              t.Priority = ThreadPriority.BelowNormal
              t.Start()
          Next
  
          ' Loop and wait for more connections
      Loop
  
  End Sub
  </code></pre>