我有一个关于boost asio库的问题。我成功地尝试创建了客户端和服务器之间的套接字,这涉及到创建解析器以指定服务器的IP地址和端口(服务器只需要端口)以及其他对象,但最重要的是需要使用write
和read_some
函数来读取和写入套接字中的内容。
我希望能够使用流,这在boost asio中是可能的,但很奇怪...
几乎所有使用流的示例都需要提供端口来创建服务器,好吧,让我们谈谈客户端...客户端需要使用iostream构造函数来指定连接流的坐标,以下是代码:
tcp::iostream() s(argv[1], "daytime");
嗯,我真的不明白第一个参数传递了什么,也不知道日间可能代表什么... 基本上,在这里,我的意思是:“嘿流,你必须连接到这个服务器...”,但是我怎么能指定该服务器的IP和端口? 请注意,相反,服务器端几乎一切都很清晰:
boost::asio::io_service io_s;
tcp::acceptor acc(io_s, tcp::endpoint(tcp::v4(), 1950));
for (;;) {
tcp::iostream stream;
acc.accept(*stream.rdbuf());
stream << "Message" << std::endl;
}
使用这个模型,我想要使用。
stream << mymessage_to_send << std::endl;
stream >> a_string_containing_my_message;
为了发送和接收信息,我该怎么做呢?非常感谢。