Boost Asio:关于教程的一些问题(同步日间服务器/客户端)
Boost Asio: Some questions about the tutorial (A synchronous daytime server/client)
我正在尝试使用Boost Asio而不是RakNet,所以我试图遵循Boost网站上的示例,但我有一些问题没有回答。这是链接:http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/tutorial/tutdaytime1.html
只是提醒一下,我让教程在客户端和服务器中工作。
1)为什么查询需要字符串"daytime"?在服务器设置中找不到它。客户端似乎仅在我使用该字符串时才连接。(尝试使用"测试",但没有连接)
2) 为什么我不需要给客户端一个要连接的端口?它是搜索此端口本身还是存在手动设置的选项?
提前谢谢。
tcp::resolver::query query(argv[1], "daytime");
此行解析终结点,其中 argv[1]
是主机,"daytime"
表示端口。是的,这有点令人惊讶,因为您会期望那里有80
或443
的东西。但是,您看到的是可以使用的服务名称(如主机名)代替硬编码端口,并由操作系统解析。
如果主机名是通过/etc/hosts
解析的,服务是通过/etc/services
(或者我想是C:WINDOWSsystem32driversetcservices
)解析的。
在我的系统上,此文件包含:
daytime 13/tcp
daytime 13/udp
所以,实际上你可以只使用"13"
而不是"daytime"
。请注意,这是系统日间服务的默认端口。它"有效"是因为您的系统在该端口上应答。(或者因为你的服务器已经在运行并使用该端口,我不知道你运行哪个服务器以及如何:))
相关文章:
- 线程过程中的线程同步问题
- 使用 qt 和 opengl、定时精度和垂直同步问题、c++ 显示图像
- C++11 中 3 个线程和 2 个共享资源的同步问题
- 队列的同步问题
- C++ 获取同步密钥状态状态问题
- Google 日历与订阅日历"Remember the milk"同步问题
- Qt QState机器同步问题:初始状态未在启动信号上设置
- POSIX线程同步和/或pthread_create()参数传递问题
- 线程同步问题
- MP3帧头检测FFF/FFE同步问题
- 线程同步问题
- 在同步问题中,弱指针可以代替互斥锁或临界区吗?
- 与MPI-2单向通信同步单个int值的问题
- 同步MPI-2单向通信中的顺序问题
- QStateMachine的同步问题
- c++并发、同步设计,避免多次执行问题
- 录制视频和音频-同步问题
- Poco 线程同步问题
- Boost Asio:关于教程的一些问题(同步日间服务器/客户端)
- Turbo c++文件同步问题