Какие аргументы я передаю клиенту при запуске примеров boost :: asio sockets - PullRequest
0 голосов
/ 10 июня 2010

Я учусь пользоваться библиотеками boost asio и использую примеры UDP в Visual Studio 2008. Я скомпилировал и запустил серверное приложение (имя udp_server.exe ).Я пытался запустить клиентское приложение, но он подключается к серверу.Как мне указать хост и имя сервиса для приложения для его подключения.Я указал имя машины, но у меня появляется ошибка «Невозможно установить соединение, поскольку целевая машина активно отказала ему» .Есть ли какие-то предварительные условия, которые мне нужно выполнить на моем компьютере с Windows 7, чтобы примеры работали?

1 Ответ

3 голосов
/ 10 июня 2010

Предполагая, что вы ссылаетесь на пример " Daytime.4 - синхронный UDP-клиент для дневного времени * ", имя хоста сервера передается как argv[1] (первый параметр командной строки) в udp :: resolver :: query ctor .Как вы можете видеть из документации, порт передается ctor как третий параметр.Этот параметр может быть строковым представлением номера порта или «именем службы».Цитируя документы по этому поводу:

В системах POSIX имена служб обычно определяются в файле / etc / services.В Windows имена служб можно найти в файле c: \ windows \ system32 \ drivers \ etc \ services.

Если все это выглядит нормально и соединение по-прежнему не удается, проверьте настройки брандмауэра на серверечтобы убедиться, что он разрешает соединения на выбранном порту.

...