Pregunta

¿Cómo puedo especificar qué adaptador para empezar a escuchar el?

Tengo una aplicación que se ejecuta en un PC que pasa a tener 2 adaptadores de red que se ejecuta en diferentes subredes (una red de infraestructura LAN de negocios, una para cámaras TCP)

Tengo una clase que se abre un servidor TCP y escucha en un puerto específico para las conexiones que vienen de los clientes de la LAN.

El problema es que mis inicializa la clase del servidor TCP y comienza a escuchar en el adaptador que se conecta a las cámaras. Cualquier solicitud de conexión desde la LAN negocio falla, no se trata.

La pregunta es, ¿Cómo puedo especificar qué adaptador para empezar a escuchar el?

extracto de código a continuación (esto no es la clase completa, sólo métodos clave)

Public Sub New(ByVal Name As String)
            'get config
            _bootStrap = New TCPServerBootstrap(Name)
            'start log file
            _Trace = New ACS.Utility.Logging("Connectivity." & Name & ".TcpServer." & _bootStrap.Port)
            _Trace.WriteLog("TCP Server Starting")
            Dim LocalIP As System.Net.IPAddress = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName).AddressList(0)
            _myListener = New TcpListener(LocalIP, _bootStrap.Port)
            _Timer = New System.Timers.Timer
            _Timer.Interval = 500
            _Timer.Enabled = False
            _name = Name
            _details = _myListener.LocalEndpoint.ToString
        End Sub

    Public Sub BeginListening()
            'Starts the listener and uses the Asynchronous 'Begin' method to handle inbound connection attempts
            _Trace.WriteLog("Begin Listening on: " & _myListener.LocalEndpoint.ToString)
            _myListener.Start()
            _myListener.BeginAcceptSocket(New AsyncCallback(AddressOf HandleIncomingConnectionRequest), _myListener)
        End Sub
¿Fue útil?

Solución

Depende de su LocalIP. Se podría ponerlo en "0.0.0.0" para escuchar en todas las interfaces, o puede configurarlo para que escuche en una interfaz específica.

En el código, lo establece en la primera dirección IP de su nombre de host. Que no siempre puede trabajar sin embargo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top