Comment puis-je spécifier sur quel adaptateur commencer l'écoute?Lier le serveur TCP à une carte spécifique
J'ai une application en cours d'exécution sur un PC qui arrive à avoir 2 cartes réseau en cours d'exécution sur différents sous-réseaux (un réseau d'infrastructure LAN d'affaires, une pour les caméras TCP)
J'ai une classe qui ouvre une connexion TCP serveur et écoute sur un port spécifique pour les connexions venant des clients sur le LAN.
Le problème est que ma classe de serveur TCP s'initialise et commence à écouter sur l'adaptateur qui est connecté aux caméras. Toute demande de connexion provenant du réseau local d'entreprise échoue, elle n'est pas traitée.
La question est, Comment puis-je spécifier sur quel adaptateur commencer l'écoute?
Extrait du code ci-dessous(ce n'est pas la classe complète, juste des méthodes clés)
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
Merci Frunsi, mettre en place pour écouter sur toutes les interfaces permettra de résoudre le problème bien. Excellent! – GermanAndy