сетевое соединение и с чем его есть?

 

TEvg

аксакал

админ. бан
Задача

Имеется некая прога (моя собственная, с исходником, возможностью модификации и т.д.)
Которая через некий физический интерфейс (неважно какой именно) устанавливает связь с такой же прогой на другой машине, и обеспечивает прием и оправку любых произвольных байтов с сохранением их количества и порядка.

Теперь вопрос - КАК ЗАСТАВИТЬ ВИНДОВОЗ УСТАНОВИТЬ ЧЕРЕЗ МОЮ ПРОГУ СЕТЕВОЕ СОЕДИНЕНИЕ, РАБОТУ ПРОТОКОЛОВ, НАПРИМЕР TCP/IP?

т.е. какой интерфейс должна предоставлять моя прога виндам?
 
+
-
edit
 

Mishka

модератор
★★★
Тяжкий вопрос. Надо писать драйверок для твоей карточки уровня NDIS MAC — его подцеплять к существующему BSP — дальше идёт автоматом. Или надо писать BSP (Base Service Provider) и установить под LSP (Layered Service Provider). В MSDN есть всё. Там надо сэмуллировать все вызовы, начинающиеся с WSA.

ДлЯ драйвера — там надо DDK.
http://www.microsoft.com/whdc/device/network/default.mspx — про сами железяки
http://www.microsoft.com/whdc/driver/default.mspx — про драйвера


Это MSDN.




Ещё.


http://msdn.microsoft.com/library/.../winsock/winsock_functions.asp



http://msdn2.microsoft.com/en-us/library/aa916135.aspx
 

hcube

старожил
★★
Перевожу - предлагается прогу заставить притвориться сетевухой. Как, например, это делает софт bluetooth адаптеров.
Убей в себе зомби!  
+
-
edit
 

TEvg

аксакал

админ. бан
страшное дело.
а модемом ей притвориться нельзя? на левом COM-порте?
Как порт сэмулить? может готовые средства есть?
а скорости при этом какой можно добиться считая что прога и интерфейс заведомо быстрее?
 
+
-
edit
 

Mishka

модератор
★★★
Опять драйверок писать надо.
 
+
-
edit
 

Mishka

модератор
★★★
Попа — не попа, а писание сетевых штучек никогда не было простым. Можно просто следовать стандартам — тогда попроще — всего 4 года учиться надо :), а можно попытаться понимать теорию за этим делом, тогда ещё и понимать, что стоит за стандартами, тогда на математику надо года три-четыре накинуть. Если надо на уровне 1 и 2 понимать, то ещё добавь и на физику. Сетевики, компиляторщики, ОСевики, СУБДешники — они народ шибко специализированный. Кстати, разработчиков драйверов для винды не так уж и много. Изучи — очень хорошие деньги. Впрочем, для линя или фряхи их тоже очень мало.
 

TEvg

аксакал

админ. бан
хм.. а ежели на одной проге установить серверный TCP/IP сокет, а на другой клиентский
и передавать все байты которые будут передавать внешние программы, то возможно моя прога будет прозрачной и сетевые проги работающие через ТСП будут работать через нее и через мой интерфейс.
Эрзац конечно получится. Но по крайней мере просто.
 
+
-
edit
 

Mishka

модератор
★★★
Это называется proxy — работать будет. Только не по твоему железу. Только я не пойму, почему бы тебе не открыть просто TCP соединение — с теми самыми сокетами — а по нему фигачить твои данные, используя твой протокол. Посмотри — FTP так работает, HTTP тоже так работает, telnet — тоже так. 7 уровней не зря придуманы.
 
+
-
edit
 

Mishka

модератор
★★★
А вообще-то, опиши задачу подробднее. Поможем советами.
 
+
-
edit
 

foogoo

опытный

TEvg, не изобретайте велосипед, все достаточно просто. Драйвер - это не страшно. Спецификация PPTP достаточно проста.

RFC 2637 - Point-to-Point Tunneling Protocol (PPTP) (RFC2637)

RFC 2637 - Point-to-Point Tunneling Protocol (PPTP)

// www.faqs.org
 
 
+
-
edit
 

Mishka

модератор
★★★
Всё достаточно страшно — проблема не в PPTP, а в написании драйвера для форточек — эта вещь весьма неприятная.
 
+
-
edit
 

foogoo

опытный

ЕМНИП ndis драйвер может работать даже в контексте пользователя, т.е. как обычная программа.

Networking

Provides links to information, specifications, and white papers on wireless technology, networking devices, and communications for Windows operating systems.

// www.microsoft.com
 
 
+
-
edit
 

Mishka

модератор
★★★
Нет, не может. Я этим делом занимался. Интрефейс вызывается из контекста пользователя, а вот драйверу надо работать с уровнями прерывания. Кстати, из DDK драйвер от MS в 2003 году и ранее был не рабочий.
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru