C++ C++;boost.asio服务器和客户端连接不稳定

C++ C++;boost.asio服务器和客户端连接不稳定,c++,boost,tcp,boost-asio,C++,Boost,Tcp,Boost Asio,我开始学习boost.asio,我遇到了一些tcp连接不稳定的问题。官方boost网站上有一个例子: #include <ctime> #include <iostream> #include <string> #include <boost/asio.hpp> using boost::asio::ip::tcp; std::string make_daytime_string() { using namespace std; //

我开始学习boost.asio,我遇到了一些tcp连接不稳定的问题。官方boost网站上有一个例子:

  #include <ctime>
#include <iostream>
#include <string>
#include <boost/asio.hpp>

using boost::asio::ip::tcp;

std::string make_daytime_string()
{
  using namespace std; // For time_t, time and ctime;
  time_t now = time(0);
  return ctime(&now);
}

int main()
{
  try
  {
    boost::asio::io_service io_service;

    tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), 13));

    for (;;)
    {
      tcp::socket socket(io_service);
      acceptor.accept(socket);

      std::string message = make_daytime_string();

      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;
}
为什么是白天?它的意思是什么,在服务器中它在哪里被忽略了,或者我只是不错过什么

有完整的客户端代码:www.boost.org/doc/libs/1_39_0/doc/html/boost_asio/tutorial/tutdaytime1.html 感谢您提前解释

“日间”
指用于日间服务的港口。这是你在接受器上看到的
13
。以下是著名端口的列表(无论是什么意思):


Dayer只是另一个协议(如FTP等),它使用端口13。如果要在特定端口号上连接到服务器,则代码如下所示:

tcp::resolver::query query(host_ip, "5678"); // 5678 is the port number

Dayer是服务名称,在
tcp::resolver::query

服务名称

标识请求的服务的字符串。这可能是一种描述 名称或与端口号对应的数字字符串。可能是 空字符串,在这种情况下,所有解析的端点都将有一个端口 数量为0


好的thnx,另外,是否可以创建自己的端口来连接到服务器?或者创建自己的服务器,我可以使用您提供的列表中的每个端口?@Edgar Buchvalov:我不知道您的意思。。。您可以选择任何要进行连接的端口。否,例如,现在我以休闲方式编写:tcp::resolver::query query(主机ip,“Day”);我可以写:tcp::resolver::QueryQuery(主机ip,13);会不会是same@EdgarBuchvalov:您应该检查ASIO参考,但我相信它必须是
查询(主机ip,“13”)
而不是.thnx代表Answer,但是我可以不使用“Dayer”一词,而只使用我的端口号吗client@EdgarBuchvalov在我的回答中,我向您展示了如何使用特定的端口号<代码>tcp::解析器::查询查询(主机ip,“13”)与使用
“Daily”
相同。
tcp::resolver::query query(host_ip, "5678"); // 5678 is the port number