Windows XP имеет брандмауэр Windows, который может помешать сетевому трафику, если он не настроен должным образом. Вы можете отключить брандмауэр Windows, если у вас есть права администратора, путем доступа к апплетам брандмауэра Windows через панель управления. Если ваше приложение работает с брандмауэром Windows отключено, проблема, вероятно, связана с настройками брандмауэра.
У нас есть приложение, работающее на нескольких ПК, обменивающихся с использованием UDP/IP, и мы проводим эксперименты, чтобы приложение могло работать на ПК с пользователем, у которого нет прав администратора. Чтобы наше приложение обменивалось данными между несколькими ПК, нам пришлось использовать учетную запись администратора, чтобы изменить настройки брандмауэра Windows.
В нашем приложении один компьютер обозначен как сервер, а остальные клиенты в группе сервер/клиент, и в одной подсети может быть несколько групп.
Первое изменение состояло в том, чтобы использовать функциональность вкладки «Исключения» апплета Windows Firewall для создания исключения для порта, который мы используем для связи.
Мы используем поиск имени хоста, чтобы клиенты могли найти свой назначенный сервер, используя имя компьютера, которое составлено из мнемонического префикса с тире, за которым следует назначенный номер терминала (например, SERVER100-1). Это позволяет нескольким серверам с назначенными клиентами сосуществовать в одной подсети. Клиент использует свой префикс для генерации имени компьютера для назначенного сервера и последующего поиска имени узла для обнаружения IP-адреса назначенного сервера.
Мы обнаружили, что поиск имени хоста с использованием имени компьютера (назначенного с помощью вкладки «Имя компьютера» диалогового окна «Свойства системы») не будет работать, если только брандмауэр Windows на сервере ПК не включил порт службы обмена файлами и принтером.
Итак, мы должны были сделать два изменения: (1) установить исключение для порта, который мы использовали для связи, и (2) включить службу файлов и принтеров на вкладке «Исключения», чтобы разрешить поиск имени узла.
** EDIT **
Вы можете также найти эту Microsoft Knowledge Base article on helpful on Windows XP networking.
И посмотреть это article on NETBIOS name resolution in Windows.
В какой библиотеке вы используете? inet_addr может быть вам полезна? http://msdn.microsoft.com/en-us/library/ms738563(VS.85).aspx – Patrick