2017-01-07 28 views
0

Моя цель - иметь дистанционное управление устройством в WLAN. У этого устройства есть программное обеспечение, которое позволяет мне настроить эту беспроводную сеть (IP, маска, шлюз, dns). Я могу успешно подключить это устройство, а мой компьютер к общей сети. Поскольку обе машины используют одну и ту же сеть, я сделал предположение, что я смог бы открыть сокет между ними. Зная IP и порт устройства, которое я пытающегося дистанционного управления я использовал следующий код, только получить тайм-аут:Могу ли я использовать модуль «socket» python для подключения к беспроводному хосту ethernet?

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

(Я использую Python 2.7 на Mac OS 10.11.6) Сеть, с которой я подключен, находится в другой подсети, которую IP-адрес, который я назначил для своего устройства. Я также попробовал это с IP-адресом в той же подсети, что и моя сеть. Могло быть несколько вещей, мешающих мне открыть сокет. На самом деле это не то, что мне нужно. Сердце моего вопроса заключается в том, могу ли я использовать модуль сокета python для беспроводного подключения к устройству.

+0

Модуль 'socket' требует, чтобы обе машины открывали сокет. Сервер и клиент. –

+0

Есть ли программа для прослушивания вашего подключения? – Natecat

+1

Независимо от того, является ли оно беспроводным или нет, это не имеет значения, поэтому вы должны быть в состоянии сделать это, полагая, что есть что-то на другом конце, которое будет принимать ваш запрос на соединение сокета. – birryree

ответ

0

Да, вы можете.

Таким образом, вы получаете таймаут, когда пытаетесь подключиться к беспроводному устройству. Чтобы устранить эту проблему, вы можете предпринять несколько шагов.

Убедитесь, что на вашем устройстве есть программа, которая слушает порт, к которому вы хотите подключиться. Определите, может ли устройство отвечать на ICMP-пакеты в целом и может быть отсканировано в частности. Попробуйте выполнить команду ping. Если ping завершается успешно, это означает, что базовая связь установлена ​​и проблема где-то выше в стеке OSI.

- Я могу выполнить ping-устройство - отлично, это означает, что проблема находится где-то в TCP или Application Layer стека TCP/IP. Убедитесь, что компьютер, устройство и промежуточное сетевое оборудование поддерживают TCP-соединения с конкретным хостом и портом. Затем перейдите к своему приложению и программному обеспечению устройства. Добавьте код к вопросу, опубликуйте трассировку стека, которую вы получите, или попросите другую на SO.

- Я не могу пинговать устройство - отлично. Между устройствами нет связи, и вы должны определить причину.

I) Нарисуйте схему сети. Сколько промежуточных сетевых устройств находится между компьютером и устройством? Что это такое, маршрутизаторы, коммутаторы? (На всякий случай, домашний Wi-Fi-модем является маршрутизатором.) Получите представление о том, как IP-датаграммы должны перемещаться по сети.

II) Вы сказали, что устройство может использоваться для настройки сети IP. По крайней мере, для устранения неполадок я проигнорировал эту опцию и полагался на статический IP-адрес или DHCP-сервер вашего маршрутизатора. Использование существующего DHCP гарантирует отсутствие неправильных конфигураций IP.

III) Просмотрите таблицы маршрутизации всех устройств, которые у вас есть. У них есть соответствующий шлюз по умолчанию? Маршрутизатор знает, как передать пакеты на устройство. Вероятно, у вас проблемы, если компьютер и устройство находятся в одной подсети, но подключены к различным сетевым интерфейсам. Разделите сеть в двух подсетях, если необходимо, и настройте статические маршруты между ними на маршрутизаторе.

Вы также можете использовать wirehark, чтобы узнать, удаляются ли данные из компьютера или отбрасываются там каким-то неприятным брандмауэром.

Существует много предостережений в том, что LAN работает.Вы можете задать вопросы по network.stackexchange, если эти простые шаги не помогут вам или если у вас возникли серьезные проблемы. Или просто оставьте комментарий здесь, я буду рад помочь.

 Смежные вопросы

  • Нет связанных вопросов^_^