Вы говорите, что приложение устарело, но ничего не говорите об операционных системах, на которых оно работает. Если вы не используете его в 16-разрядной версии Windows или NT 3.x, нет веских причин, по которым вы не можете просто перейти на Winsock 2. Вы можете загрузите Winsock 2 для Win95, и он входит во все более поздние ОС Win9x, а также в Windows NT 4 и выше.
Если вам действительно нужно запустить это приложение на Win16, возможно, вы сможете найти один из сторонних стеков Winsock той эпохи, которые предлагали поддержку необработанных сокетов, но это звучит как огромная проблема, если вы хотите сделать это на законных основаниях. . Проще просто указать Win98 как минимальную версию ОС и двигаться дальше.
EDIT: я предполагаю, что вы можете делать все, что хотите, с необработанными сокетами., что требует перехода на Winsock 2, если вы должны использовать встроенный Winsock в операционных системах MS. Изменить программу для использования Winsock 2 вместо Winsock 1.1 несложно; одно изменение библиотеки, одно изменение файла заголовка и изменение вызова WSAStartup
, и все готово. Необработанные сокеты ICMP позволяют создавать любые пакеты ICMP, которые вы хотите, а в более новых операционных системах вы также можете прослушивать пакеты ICMP. Если окажется, что стек не позволяет прослушивать нужные вам пакеты через сокеты, вы можете сделать это с помощью методы захвата пакетов.
person
Warren Young
schedule
15.12.2009