C++ 从boost asio插座读取数据并打印到终端
我想使用boost asio套接字将消息从服务器发送到客户端,然后将其打印到客户端。我正在试着发送“你好”的信息。它不起作用。我怎样才能解决这个问题? 谢谢 客户:C++ 从boost asio插座读取数据并打印到终端,c++,sockets,boost,boost-asio,C++,Sockets,Boost,Boost Asio,我想使用boost asio套接字将消息从服务器发送到客户端,然后将其打印到客户端。我正在试着发送“你好”的信息。它不起作用。我怎样才能解决这个问题? 谢谢 客户: #include <boost/asio.hpp> #include <iostream> #include <string> using namespace std; int main (int argc, char* argv[]) { try { boost::asio::io_ser
#include <boost/asio.hpp>
#include <iostream>
#include <string>
using namespace std;
int main (int argc, char* argv[]) {
try {
boost::asio::io_service io_service;
boost::asio::ip::tcp::resolver::query query("localhost", "41005");
boost::asio::ip::tcp::resolver resolver(io_service);
boost::asio::ip::tcp::resolver::iterator destination = resolver.resolve(query);
boost::asio::ip::tcp::resolver::iterator end ;
boost::asio::ip::tcp::endpoint endpoint;
while ( destination != end ) {
endpoint = *destination++;
std::cout<<endpoint<<std::endl;
}
boost::asio::ip::tcp::socket socket(io_service);
socket.connect(endpoint);
boost::array< char, 128 > buf;
boost::system::error_code error;
std::size_t length = boost::asio::read(socket, boost::asio::buffer(buf, 512), boost::asio::transfer_all(), error);
cout << length;
}
catch (std::exception& e)
{
std::cerr << e.what() << std::endl;
}
return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[]){
试一试{
boost::asio::io_服务io_服务;
boost::asio::ip::tcp::resolver::query查询(“localhost”,“41005”);
boost::asio::ip::tcp::解析器解析器(io_服务);
boost::asio::ip::tcp::resolver::iterator destination=resolver.resolve(查询);
boost::asio::ip::tcp::resolver::iterator end;
boost::asio::ip::tcp::endpoint;
while(目的地!=结束){
端点=*目的地++;
std::cout经典错误:“acceptor.accept”方法是一个阻塞调用,因此从不调用hello部分
我们的朋友会帮助你的,在所有方面:
。。。
std::cout经典错误:“acceptor.accept”方法是一个阻塞调用,因此从不调用hello部分
我们的朋友会帮助你的,在所有方面:
。。。
std::coutWhat't not work mean?编译错误?运行时错误?您是否记得打开服务器防火墙上的相应端口?您可能还想从现有示例之一()开始并根据您的需要进行修改。什么不起作用?编译错误?运行时错误?您是否记得打开服务器防火墙上的相应端口?您可能还想从现有示例()开始,根据您的需要进行修改。
#include <boost/asio.hpp>
#include <iostream>
#include <string>
using namespace std;
int main () {
try {
boost::asio::io_service io_service;
boost::asio::ip::tcp::acceptor acceptor(io_service, boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), 41005));
for (; ;) {
std::cout<<"Listening to"<<std::endl;
boost::asio::ip::tcp::socket socket(io_service);
acceptor.accept(socket);
std::string message = "hello";
boost::system::error_code ignored_error;
boost::asio::write(socket, boost::asio::buffer(message), boost::asio::transfer_all(), ignored_error);
}
}
catch (std::exception& e)
{
std::cerr << e.what() << std::endl;
}
return 0;