我正在学习如何使用boost asio库,我正在使用visual studio 2008上的UDP示例。我编译并运行了服务器应用程序(名称 udp_server.exe )。我试图运行客户端应用程序,但确实连接到服务器。如何为应用程序指定主机和服务名称以进行连接。我已经指定了机器名称,但是我收到错误“无法建立连接,因为目标计算机主动拒绝它”。我需要在Windows 7机器上执行一些先决条件设置才能使示例正常工作吗?
答案 0 :(得分:3)
假设您指的是“Daytime.4 - A synchronous UDP daytime client”示例,服务器的主机名将作为argv[1]
(第一个命令行参数)传递给udp::resolver::query ctor。从文档中可以看出,端口作为第3个参数传递给ctor。此参数可以是端口号的字符串表示形式或“服务名称”。引用有关此内容的文档:
在POSIX系统上,服务名称是 通常在文件中定义 / etc / services中。在Windows上,服务 名称可以在文件中找到 C:\ Windows \ System32下\驱动程序\等\服务
如果所有这些看起来都没问题并且连接仍然失败,请检查服务器上的防火墙设置,以确保它允许所选端口上的连接。