net. Object

Объект net. в TiOS, работающей на оборудовании Tibbo, обеспечивает сетевой обмен через аппаратный порт Ethernet (если он есть).
Объект net. в симуляторе TiOS обеспечивает сетевой обмен через драйвер WinPcap, который перехватывает низкоуровневый сетевой трафик порта Ethernet вашего ПК.
Важно понимать, что для объекта net. и объекта sock. симулятор TiOS не использует сокеты Windows. В TiOS собственная реализация сокетов, поэтому ей нужен канал, по которому пакеты Ethernet уровня MAC поступают в её систему сокетов и выходят из неё. Этот канал обеспечивает драйвер WinPcap.
Использование драйвера WinPcap имеет несколько важных следствий:
- Объект net. полностью отделён от системы сокетов вашего ПК с Windows. Симулятору TiOS можно (и нужно) задать IP-адрес, отличный от IP-адреса ПК. Порты симулятора TiOS не входят в пространство портов вашего ПК. С точки зрения симулятора TiOS ваш ПК - лишь оболочка, которая с помощью драйвера WinPcap передаёт пакеты Ethernet уровня MAC в симулятор и из него.
- Объект sock. симулятора TiOS может отправлять и принимать данные, только когда включён драйвер WinPcap. Для этого в Options Dialog симулятора TiOS (Simulator > Settings) установите флажок Use WinPcap и выберите нужный интерфейс Ethernet. Это должен быть интерфейс Ethernet, через который ПК с симулятором TiOS подключён к сети. ПК должен быть подключён к сети именно через интерфейс Ethernet. Использование других интерфейсов, например Wi-Fi, не позволит объекту net. и объекту sock. работать правильно.
- Взаимодействовать с объектом sock. с того же ПК, на котором запущен симулятор TiOS, нельзя. Внутренний сетевой трафик ПК идёт через интерфейс обратной петли сокетов Windows. Иными словами, порт Ethernet, к которому подключён драйвер WinPcap, не видит локального (одноадресного) трафика. Поэтому симулятор TiOS не получит никакого (одноадресного) сетевого трафика, исходящего с того же ПК.
Подробнее см. Сетевой обмен в симуляторе TiOS.
Отличия от «настоящего» объекта net.:
| net.mac | Всегда равно MAC-адресу ПК-хоста. Изменить MAC нельзя, даже с помощью функции Change MAC в Device Explorer. |
| net.failure | Всегда возвращает 0 - NO. |
| net.linkstate | При каждом (пере)запуске симулятора TiOS меняется с 0 - PL_NET_LINKSTAT_NOLINK на 2 - PL_NET_LINKSTAT_100BASET независимо от реального состояния соединения Ethernet. |
| on_net_link_change | Всегда происходит один раз после (пере)запуска симулятора TiOS. |
| on_net_overrun | Никогда не происходит. |
Во всём остальном объект net. симулятора TiOS работает так же, как «настоящий» объект net. в нескольких устройствах Tibbo.