Текущий архив: 2004.11.14;
Скачать: CL | DM;
ВнизUDP протокол на базе Мелкософтского клиента Найти похожие ветки
← →
sniknik © (2004-09-02 17:42) [0]Pascal/Asm
Dos 6.22
Интересует есть ли возможность реализовать такой протокол? И если есть то как.
Проблема в том что есть рабочие (хоть и очень устаревшие) dos программы, в них для обмена с серверной частью реализована на IPX. Время от времени встречаются клиенты которые его(IPX) "на дух" не переносят. А вот к TCP/IP лояльны. Странно конечно (т.к. требований к надежной передаче данных нет, наоборот, можно кадр два пропустить без проблем лиш бы сама прога не тормозила) но тем не менее. Кажется проще, чем переубеждать каждый раз, добавить возможность работать еще и с этим протоколом (если возможно конечно).
UDP как и IPX полностью подходят, сам смысл, послал посылку и забыл неважно дошла нет, но вот реализовывать нужно на базе мелкосовтского у которого в досе есть только TCP.
Пакетные драйвера (есть такие) не подойдут т.к. этот самый мелкософтский клиент является стандартом (и значит будет установлен независимо ни от чего) а в паре с пакетным драйвером он не "выживает". (понятно, за одно устройство борьба ;)
Понимаю, что это конечно уже устарело все, но может быть у кого остались старые наработки, документы, знания, как к нему подступится... и т.д. может кто еще помнит. ;о)) А может как и я до сих пор еще с досом вынужден работать.
(Пока все на стадии идеи, теоретически. Если проблемно, то и братся не буду.)
← →
Styx (2004-09-02 19:12) [1]в паре с пакетным драйвером он не "выживает". (понятно, за одно устройство борьба ;)
Помнится, был такой PKTMUX... или как там его... Типа, вроде с ним можно прикрутить другой пакетный драйвер.
Хотя я уже забыл всё это :(
← →
Verg © (2004-09-03 10:26) [2]Сам протокол (UDP) реализовать - это без проблем. Т.к., по большому счету - это и не протокол вовсе, а просто формат пакетов. Другой вопрос - это API MS DOS сетевого клиента. Надо разбираться с ним - позволяет ли он отправлять/принимать пакеты не TCP/IP (аналог RAW сокетов). Хотябы просто возможность работать с "сырыми" ethernet пакетами. При этом придется реализовать еще и ARP. Тут немного все посложнее, но тоже готовые реализации имеются. Правда все на "сях"..
← →
sniknik © (2004-09-03 11:33) [3]Styx (02.09.04 19:12) [1]
> Типа, вроде с ним можно прикрутить другой пакетный драйвер.
В идеале нужно не драйвер дополнительный а в самой программе реализовать, так сказать независимо от всего. Или исходники/описание как оно у них там сделано, чтобы самому понять.
и кстати именно PKTMUX реализован как отдельный пакетный драйвер, не будет в паре работать (не скажу точно но это похоже один из тех что пробовался, еще PCNFS/PCTCP, последний даже коегде используется (для другого))
Verg © (03.09.04 10:26) [2]
> но тоже готовые реализации имеются. Правда все на "сях"..
Реализации это для всего "вопроса" или только по преобразованию адресов? А они у тебя есть или в "принципе"? если у тебя то нельзя и мне их поиметь? может не все там так страшно как мне пока кажется.
То что придется разбиратся именно с самим мелкософтским клиентом, это я понимаю. Непонятно как к нему подступится изначально.
Инфы бы побольше по этому делу, пример какой никакой...
← →
Verg © (2004-09-03 12:24) [4]Для начала посмотри
http://pascal.sources.ru/network/
Может там уже найдешь то, что тебе нужно
К примеру,
Berczi Gabor
Pascal интерфейс для разработки сетевых socket-приложений. Совместим с различными TCP/IP стеками, включая стеки для DOS. Дополнительно имеется поддержка IPX/SPX и Netbios. В качестве примера приведено 2 клиентских программы для FTP.
Free Sockets Interface - This is a BSD-sockets compatible interface for Pascal programs. It supports a lot of socket interfaces: Trumpet ABI, Novell IPX, Microsoft LAN Manager, Novell TCP/IP, PC/TCP, VSL (see above), Waterloo TCP (FTP software packet driver standard), Winsock 1.x and 2 VxDs. NetBIOS is not yet supported by the sockets interface, but the included NB30 unit interfaces to NetBIOS. All in all, an impressive piece of work.
...more info 27.09.2000
179k
← →
Rouse_ © (2004-09-03 12:26) [5]Хм... я бы тоже не отказался поиметь эти реализации :)
Андрей, если не сложно, то отправь плз на rouse@grandsmeta.ru
заранее бесты и регардсы © ИШ :)
← →
Rouse_ © (2004-09-03 12:27) [6]О, пока писал, ты уже ответил :)
← →
sniknik © (2004-09-03 14:35) [7]> Для начала посмотри
> http://pascal.sources.ru/network/
думаеш не смотрел? смотрел. только не находится ничего :(, ведь я не знаю чего конкретно искать. (практически)
> К примеру, ...
А... вот и конкретика. ;о) Спасибо, теперь на выходные будет что делать. Буду разбирать.
(общих то описаний под винды много нашлось, но чего там разбирать, протокол и так доступен, а вот этого не видел)
← →
Verg © (2004-09-03 18:29) [8]
> > К примеру, ...
> А... вот и конкретика. ;о)
Да, там есть ф-ция socket :))) А значит во втором параметре можно попробовать сказать SOCK_DGRAM. Если получится, то ты получишь то, что ты хотел собственно в subj.
← →
Verg © (2004-09-03 18:43) [9]Хотя мутное это дело... под ДОС-ом-то...
Кстати, Rouse_, я тебе высылал минимальную реализацию от Александра Певзнера, там был и UDP и ICMP и ARP.
← →
sniknik © (2004-09-04 17:59) [10]> можно попробовать сказать SOCK_DGRAM
В том то и дело что у мелкософоского драйвера в dos нет дейтаграмм (UDP) только , внутри драйвера может и есть но "наружу" ничего не выведено.
С чего думаеш такое разнообразие пакетных драйверов под dos? Вот именно потому. И все сделанны отдельными продуктами...
← →
sniknik © (2004-09-04 18:01) [11]> только ,
stream забыл.
← →
Verg © (2004-09-06 18:35) [12]
> В том то и дело что у мелкософоского драйвера в dos нет
> дейтаграмм (UDP) только ,
Проверял? MS LAN Manager?
> С чего думаеш такое разнообразие пакетных драйверов под
> dos
Не знаю, в таком случае, что ты называешь пакетным драйвером, но их разнообразие всегда обуславливалось разнообразием сетевых карт (железа), а никак уж не разнообразием протоколов.
← →
sniknik © (2004-09-06 23:27) [13]> Не знаю, в таком случае, что ты называешь пакетным драйвером
PKTMUX/PCNFS/PCTCP вот эти, может и неправильно но у нас все их так называют. :)
> но их разнообразие всегда обуславливалось разнообразием сетевых карт (железа), а никак уж не разнообразием протоколов.
может быть может быть, но под мелкософт всегда все драйвера были (и сейчас проще найти) т.что я уж грешным делом подумал именно изза этого.
> Проверял? MS LAN Manager?
вот теперь я не понимаю чего ты имееш в виду ;о)) (вернее а как по другому)
наверное да, делал тест из скачаного, пример для ms (testms)
там в модуле
unit MSSocks;
есть строка
{...
Microsoft (HP) Lan Manager Sockets API routines
...}
так вот вызов
if mss_socket(AF_INET,SOCK_STREAM,IPPROTO_TCP,S)=false then
writeln("failed to create a socket (",MSSockError,")") ..
проходит
а с заменой на
mss_socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP, S)
выдает "failed to create a socket (105)"
в общем понятно (и так только подтверждение в принципе нужно было), завтра еще проверю на "чистом" dos-е и пора с этим завязывать ;о).
кстати в поисках набрел
The Microsoft Network Client software contains the following network clients and software:
LAN Manager Basic Client Software for MS-DOS(R) Clients
LAN Manager Enhanced Software for MS-DOS Clients
LAN Manager Client Software for OS/2 Clients TCP/IP Protocol Stack
Microsoft Data Link Control (DLC) Protocol
Microsoft Remote Access Service (RAS) Client
NetWare(R) Client Software for MS-DOS Clients
Window Admin tools - WFW (dos) based
MSclient 3.0 for DOS
(т.е. у мелкосософта далеко не один клиент... (у нас используется последний в списке, может поменять? в каком нибудь другом есть?))
← →
Defunct © (2004-09-06 23:55) [14]sniknik © (02.09.04 17:42)
> кстати в поисках набрел
The Microsoft Network Client software contains the following network clients and software:
Не там ищещь...
На базе Мелкософтовского клиента ничего не выйдет, сам несколько месяцев назад искал TCP/UDP драйвер под DOS. Парился я и с MS-TCP драйвером, и с той же обверткой, что ты скачал с pascal.sources.ru
Потратил приблизительтно месяц на поиск решения. Среди всего найденного (MS/HP/WATSOCKS/ABI и т.п.), наиболее нормалный TCP/UDP драйвер под DOS - от Trumpet (ntcpdrv.exe), который можно скачать с сайта Trumpet (поищи в гугле "Trumpet TCP driver" ~56kb). Драйверок требует наличия пакетного драйвера и все. Работать с ним проще простого: модуль abisocks.pas с той же обертки, которую привел Verg [4] (если не найдешь, могу выслать почтой (13kb)).
← →
Defunct © (2004-09-07 00:09) [15]> Пакетные драйвера (есть такие) не подойдут т.к. этот самый мелкософтский клиент является стандартом (и значит будет установлен независимо ни от чего) а в паре с пакетным драйвером он не "выживает". (понятно, за одно устройство борьба ;)
Зы, тут ты не в корне не прав. Стандартным является протокол. А MS Client это один из вариантов его реализации, причем далеко не из лучших.
← →
Defunct © (2004-09-07 00:15) [16]Более того мне интересно, неужели ты наивно полагаешь что MS Client не использует пакетные драйвер, а самостоятельно обслуживает все многообразие сетевых карт?
← →
Defunct © (2004-09-07 00:40) [17]Простите за грубость, совсем не хотел никого обидеть, просто день был тяжелый, да и как вспомнил про DOS часть, к которой еще надо радиостанцию через COM по TCP прилепить так что-то настроение совсем испортилось..
← →
Verg © (2004-09-07 05:27) [18]
> PKTMUX/PCNFS/PCTCP вот эти, может и неправильно но у нас
> все их так называют.
http://www.uiggm.nsc.ru/ansi/netres/docum/pc-ip-2.htm
← →
Verg © (2004-09-07 05:37) [19]Я к тому, что
Как быть, если требуется использовать несколько сетевых пакетов одновременно? Для этого используют PKTMUX () - пакетный мультиплексор, который порождает до восьми виртуальных пакетных драйверов.
Пакетный драйвер - это то, что непосредственно обслуживает сетевую карточку, приводя ее к унифицированному интерфейсу (абстрагирует от железа) и не более того. Ни о каких протоколах сетевого уровня никакого понятия не имеет.
← →
sniknik © (2004-09-07 08:48) [20]>> Пакетные драйвера (есть такие) не подойдут т.к. этот самый мелкософтский клиент является стандартом (и значит будет установлен независимо ни от чего) а в паре с пакетным драйвером он не "выживает". (понятно, за одно устройство борьба ;)
> Зы, тут ты не в корне не прав. Стандартным является протокол. А MS Client это один из вариантов его реализации, причем далеко не из лучших.
Я тут совсем не причем, сутуацию обрисовал как есть, менять никто ничего не будет. (втыкаемся в тот же психологический барьер клиента который не хочет другой протокол, а уж о другом клиенте вообше не может быть речи. воспринимаются как "левые", другой мелкософтский был бы выходом. обьяснить это нельзя только принять... ;)
> Verg © (07.09.04 05:37) [19]
да PCTCP у нас уже используют (писал уже), есть программа написаная чисто под нее.
> Пакетный драйвер - это то, что непосредственно обслуживает сетевую карточку, приводя ее к унифицированному интерфейсу
Ну наверное название от этого и пошло, в этих эта часть есть и имеется доступ, в мелкософте низкоуровневый драйвер недоступен. (А может просто от того что в описании таких в начале пишут "Пакет драйверов обеспечивает ...").
Но это неважно, изменить ходящее у нас название я тоже не могу, и если это неправильно то как по другому их называт?
В общемто все, что нужно уже узнал, спасибо за внимание. Отрицательный результат тоже результат :), будут аргументы чтобы отбиватся от этого задания ;о)), если идея вдруг обратится в ТЗ.
← →
sniknik © (2004-09-07 11:02) [21]> Defunct © (07.09.04 00:15) [16]
> Более того мне интересно, неужели ты наивно полагаешь что MS Client не использует пакетные драйвер, а самостоятельно обслуживает все многообразие сетевых карт?
Нет, я наивно полагаю что у меня при мелкософтском драйвере нет к нему доступа (вернее не знаю как), в нем это было бы реализуемо (> Verg © (03.09.04 10:26) [2]), а в том что он мне предлагает нет нужного мне протокола.
Если знаеш как, или есть дока по стандартам того как они меж собой взаимодействуют, то... вот это мне и нужно, чтобы хоть както попробовать вклинится. (Вернее было нужно, т.к. это далеко не так просто как понял, я решил за это не братся. Или по крайней мере месяца на 4 больше времени просить, и за результат не ручатся (тогда точно отстанут ;о)), а если вдруг и согласятся есть шанс вытянуть это дело)
> sniknik © (06.09.04 23:27) [13]
> завтра еще проверю на "чистом" dos-е и пора с этим завязывать ;о).
проверил, никакой разницы (от того же клиента установленого на 98х без графической оболочки, как дома проверял), та же ошибка 105 (неподдерживается протокол).
← →
Verg © (2004-09-07 11:28) [22]Спецификация интерфейса пакетного драйвера лежит здесь:
http://www.crynwr.com/packet_driver.html
Пример минимальной реализаций ARP, IP и UDP:
http://webfile.ru/50622
← →
sniknik © (2004-09-07 12:29) [23]Verg © (07.09.04 11:28) [22]
Спасибо. Закачал. На всякий случай. (Но больше надеюсь отбится от этого дела. ;о)) Только ради интереса и общего развития посмотрю, и попробую. Вообще не дело это базовика за сетевые драйвера сажать. :(
Страницы: 1 вся ветка
Текущий архив: 2004.11.14;
Скачать: CL | DM;
Память: 0.53 MB
Время: 0.047 c