2017-01-07 2 views
0

Mein Ziel ist es, die Fernbedienung eines Geräts auf einem WLAN zu haben. Dieses Gerät verfügt über eine Software, mit der ich dieses drahtlose Netzwerk konfigurieren kann (IP, Maske, Gateway, DNS). Ich kann dieses Gerät und meinen Computer erfolgreich mit einem gemeinsamen Netzwerk verbinden. Da beide Maschinen das gleiche Netzwerk teilen, habe ich angenommen, dass ich einen Sockel zwischen ihnen öffnen könnte. Die Kenntnis der IP-Port, und der Vorrichtung, die ich bin versucht zu steuern remote verwendete ich den folgenden Code, nur einen Timeout zu erhalten:Kann ich das Socket-Modul von Python verwenden, um eine Verbindung zu einem drahtlosen Ethernet-Host herzustellen?

import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('192.168.xxx.xxx', XXXX))

(Ich verwende Python 2.7 auf Mac OS 10.11.6) Das Netzwerk, mit dem ich verbunden bin, befindet sich in einem anderen Subnetz als die IP, die ich meinem Gerät zugewiesen habe. Ich versuchte es auch mit einer IP im selben Subnetz wie mein Netzwerk. Es könnte eine Reihe von Dingen geben, die mich davon abhalten, einen Sockel zu öffnen. Das ist nicht wirklich das, wonach ich suche. Das Kernstück meiner Frage ist, ob ich das "Socket" -Modul von Python verwenden kann, um mich drahtlos mit einem Gerät zu verbinden.

+0

Das Socket-Modul erfordert, dass beide Maschinen einen Socket öffnen. Server und Client. –

+0

Gibt es ein Programm, das auf Ihre Verbindung wartet? – Natecat

+1

Ob es nun drahtlos oder nicht ist, spielt keine Rolle. Sie sollten also in der Lage sein, davon auszugehen, dass am anderen Ende etwas vorhanden ist, das Ihre Socket-Verbindungsanfrage akzeptiert. – birryree

Antwort

0

Ja, Sie können.

So erhalten Sie eine Zeitüberschreitung, wenn Sie versuchen, eine Verbindung zu einem drahtlosen Gerät herzustellen. Es gibt mehrere Schritte, die Sie ergreifen können, um dies zu beheben.

Stellen Sie sicher, dass auf Ihrem Gerät ein Programm ausgeführt wird, das den Anschluss überwacht, mit dem Sie eine Verbindung herstellen möchten. Identifizieren, ob das Gerät ICMP-Pakete allgemein beantworten kann und insbesondere gepingt werden kann. Versuchen Sie, das Gerät anzurufen. Wenn ping erfolgreich ist, bedeutet dies, dass die grundlegende Verbindung hergestellt ist und das Problem irgendwo im OSI-Stapel liegt.

- Ich kann das Gerät ping - groß, bedeutet es, dass das Problem irgendwo in TCP oder Application Layer des TCP/IP-Stack ist. Stellen Sie sicher, dass der Computer, das Gerät und die zwischengeschalteten Netzwerkgeräte TCP-Verbindungen mit dem jeweiligen Host und Port ermöglichen. Fahren Sie dann mit Ihrer Anwendung und der Gerätesoftware fort. Fügen Sie der Frage einen Code hinzu, geben Sie den Stack-Trace ein, den Sie erhalten, oder fragen Sie einen anderen über SO.

- Ich kann das Gerät nicht pingen - groß. Es gibt keine Verbindung zwischen den Geräten, und Sie müssen den Grund angeben.

I) Zeichnen Sie ein Netzwerkdiagramm. Wie viele zwischengeschaltete Netzwerkgeräte befinden sich zwischen dem Computer und dem Gerät? Was sind sie, Router, Schalter? (Nur für den Fall, home-Grade-WLAN-Modem ist ein Router.) Holen Sie sich eine Vorstellung davon, wie IP-Datagramme über das Netz reisen sollten.

II) Sie haben gesagt, dass das Gerät verwendet werden kann, um ein IP-Netzwerk zu konfigurieren. Zumindest für die Fehlersuche würde ich diese Option ignorieren und mich auf eine statische IP oder den DHCP-Server Ihres Routers verlassen. Durch die Verwendung eines vorhandenen DHCP wird sichergestellt, dass keine falschen IP-Konfigurationen vorhanden sind.

III) Überprüfen Sie die Routing-Tabellen aller Geräte, die Sie haben. Haben sie ein passendes Standard-Gateway? Kann ein Router die Pakete an das Gerät weitergeben? Sie haben wahrscheinlich Probleme, wenn sich der Computer und das Gerät im selben Subnetz befinden, jedoch an verschiedene Netzwerkschnittstellen angeschlossen sind. Teilen Sie das Netzwerk bei Bedarf in zwei Subnetze auf und richten Sie statische Routen zwischen ihnen auf dem Router ein.

Sie können auch wireshark verwenden, um zu sehen, ob Daten, die Sie senden, den Computer verlassen oder direkt von einer fiesen Firewall gelöscht werden.

Es gibt viele Vorbehalte, wenn man ein LAN zum Laufen bringt.Vielleicht möchten Sie Fragen zu networking.stackexchange stellen, wenn diese einfachen Schritte Ihnen nicht helfen oder wenn Sie große Schwierigkeiten haben, ihnen zu folgen. Oder hinterlassen Sie einfach einen Kommentar hier, ich würde gerne helfen.

Verwandte Themen