2017-07-18 4 views
0

Hier ist mein Problem: Mein Computer ist mit dem Internet mit Ethernet-Kabel verbunden und auch mit einem WLAN-Modul verbunden. Aber wenn ich TCP an mein Modul senden möchte, wählt es standardmäßig Ethernet.Wie wählt man Ethernet oder WLAN um TCP zu senden?

Ich muss mein Kabel trennen, um TCP an mein Modul zu senden, aber ich brauche die zwei Verbindungen und weiß, wie man zwischen ihnen wechselt.

Wie kann ich die Schnittstelle wählen, die ich in C# will? Kann ich in einem Programm zwischen ihnen wechseln? Ich verwende bereits System.Net und die Managed Wifi API.

Vielen Dank für Ihre Antworten.

Edit:

Als @Someprogrammerdude und @ Sam vorschlagen, ich benutze socket.bind() mit der IP-Adresse des Standard-Gateway meines WiFi TCP an sie zu senden. Aber wenn ich versuche zu binden, gibt es the requested address is not valid in this context Fehler. Also überprüfte ich die Standard-Gateway-Adresse (sry Französisch): ipconfig

Wir können sehen, dass mein WiFi-Standard-Gateway ist 192.168.1.2 und Ethernet 192.168.1.1. Ich habe versucht, sie "manuell" zu setzen, aber ich habe das gleiche Ergebnis .. Es kann nicht der Port sein, den ich selbst auf dem Modul überprüft habe, dass er gut geöffnet ist

Edit 2: Nvm, ich musste 192.168.1.100 binden, und nicht 192.168.1.2. Danke für deine Antworten, du hast mir sehr geholfen.

+0

Sie können einen Socket an eine bestimmte Schnittstelle * binden *. –

+1

Werfen Sie einen Blick hier. https://stackoverflow.com/questions/49507/controlling-which-network-card-tcp-ip-message-are-sen-on – sam

+0

@Someprogrammerdude, können Sie nur Adresse und Port mit Bindung auswählen, ich möchte wählen wenn ich zusätzlich WiFi oder Ethernet wählen könnte – Nazoum

Antwort

0

Welche Schnittstelle verwendet wird, wird von der lokalen Routing-Tabelle entschieden. Eine Kabelschnittstelle (oft) ist schneller, so dass sie eine niedrigere Netzwerkmetrik erhält und anschließend bevorzugt wird. Bei DHCP-Clients kann dies auch vom DHCP-Server konfiguriert werden (sofern manuelle Einstellungen möglich sind).

Je nach System können Sie die Netzwerkmesswerte der Schnittstellen ändern (DHCP muss dafür wahrscheinlich deaktiviert werden). Wenn Sie Wireless bevorzugen, reduzieren Sie einfach die Metrik unterhalb der Ethernet-Schnittstelle. Alternativ können Sie Routen zu bestimmten Diensten hinzufügen, die Sie per Funk an die drahtlose Schnittstelle mit einer niedrigeren Metrik übertragen möchten.

Verwandte Themen