【发布时间】:2011-05-15 13:45:12
【问题描述】:
我有一个关于 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;
为了发送和接收。 我怎样才能做到这一点? 非常感谢。
【问题讨论】:
标签: c++ client-server iostream boost-asio