传递变量或放置具有相同内容的ip字符串时,asio客户端应用程序中的结果不同

尼科·韦里吉特(Nico Verrijdt)

我无法弄清某些事情。
以下是来自boost asio的聊天客户端示例的一部分代码:https : //www.boost.org/doc/libs/1_70_0/doc/html/boost_asio/example/cpp11/chat/chat_client.cpp

int Tcp::client(std::string peer_ip)
{
    try
    {
        boost::asio::io_context io_context;

        tcp::resolver resolver(io_context);
        auto endpoints = resolver.resolve(peer_ip, "1975");
        
        chat_client c(io_context, endpoints);

        std::thread t([&io_context]() { io_context.run(); });
        
        char line[chat_message::max_body_length + 1];
        while (std::cin.getline(line, chat_message::max_body_length + 1))
        {
          chat_message msg;
          msg.body_length(std::strlen(line));
          std::memcpy(msg.body(), line, msg.body_length());
          msg.encode_header();
          c.write(msg);
        }

        c.close();
        t.join();
    }
    catch (std::exception &e)
    {
        std::cerr << "Exception: " << e.what() << "\n";
    }

    return 0;
}

当如上所述将peer_ip变量传递到解析器时,我得到:异常:resolve:找不到主机(权威)

auto endpoints = resolver.resolve(peer_ip, "1975");

如果IP地址的字符串如下所示,则客户端可以工作并与服务器对话。

auto endpoints = resolver.resolve("13.58.174.105", "1975");

我还尝试传递一个const变量和一个引用,使variabel std :: move生效,但是以某种方式我的努力没有奏效。

您知道问题出在哪里,我该怎么办?

TIA,
尼科

看到

peer_ip变量的值是多少?如果这也是“13.58.174.105”那么这将是不可思议。

否则,仅表示主机名无法解析为IP地址。

如果peer_ip已知总是包含一个IP地址,则无论如何都无需解决任何问题,您可以解析该地址:

std::string peer_ip = "127.0.0.1";
tcp::endpoint endpoint {
    boost::asio::ip::address_v4::from_string(peer_ip.c_str()), 1975 };

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有虚拟接口ip的两个TCP客户端应用程序

来自分类Dev

具有不同风格的Android应用程序的客户端ID

来自分类Dev

具有不同风格的Android应用程序的客户端ID

来自分类Dev

服务器/客户端应用程序和JSONDecodeError:字符串python终止

来自分类Dev

返回结果到客户端应用程序之前,反序列化JSON字符串并在SQL查询中使用

来自分类Dev

流星应用程序具有多个单独的客户端应用程序

来自分类Dev

使用Azure App Service的Web应用程序和移动客户端具有相同的业务逻辑

来自分类Dev

来自客户端的字符串在Java的客户端/套接字应用程序的Socket控制台上打印出来

来自分类Dev

按值传递变量与按引用传递变量具有相同的结果

来自分类Dev

如何在连接字符串中添加数据目录以在客户端计算机上部署应用程序?

来自分类Dev

当客户端和实际应用程序位于不同容器中时配置事务管理器?

来自分类Dev

REST客户端:302尝试传递XML字符串时找到

来自分类Dev

从客户端传递到nodeJS时,字符串变为对象

来自分类Dev

是否需要Oauth2客户端应用程序具有SSL连接?

来自分类Dev

具有客户端异常的简单RMI应用程序

来自分类Dev

Python Graphql客户端-传递变量时出现意外的标点符号

来自分类Dev

在客户端访问服务器变量时获取空字符串

来自分类Dev

处理具有很长字符串的单元格时,应用程序定义的错误?

来自分类Dev

在jQuery选择器中传递2个变量时,没有结果,但是在键入相同的字符串输出时,它确实

来自分类Dev

当在jQuery选择器中传递2个变量时,没有结果,但是在键入相同的字符串输出时,它确实

来自分类Dev

使用 C# 客户端将文件上传到 PHP 服务器时没有结果字符串

来自分类Dev

如何通过 AWS AppSync 客户端将包含字符串的变量传递给 GraphQL 查询?

来自分类Dev

带有MVC的Azure Active Directory,客户端和资源标识相同的应用程序

来自分类Dev

是否可以使用一个应用程序发送具有不同侦听连接字符串的通知?

来自分类Dev

加密字符串时,如何始终获得具有相同设置的相同结果?

来自分类Dev

使用Vaadin 7应用程序中的推送显示相同数据穿越多个客户端

来自分类Dev

将AWS凭证传递给亚马逊客户端构造函数时出现“ TypeError:预期字符串,找到元组”

来自分类Dev

通过Web和Windows客户端应用程序具有ADAL登录经验的常见Oauth

来自分类Dev

在移动消息传递应用程序中,是否应该从服务器或客户端触发发送消息?

Related 相关文章

  1. 1

    具有虚拟接口ip的两个TCP客户端应用程序

  2. 2

    具有不同风格的Android应用程序的客户端ID

  3. 3

    具有不同风格的Android应用程序的客户端ID

  4. 4

    服务器/客户端应用程序和JSONDecodeError:字符串python终止

  5. 5

    返回结果到客户端应用程序之前,反序列化JSON字符串并在SQL查询中使用

  6. 6

    流星应用程序具有多个单独的客户端应用程序

  7. 7

    使用Azure App Service的Web应用程序和移动客户端具有相同的业务逻辑

  8. 8

    来自客户端的字符串在Java的客户端/套接字应用程序的Socket控制台上打印出来

  9. 9

    按值传递变量与按引用传递变量具有相同的结果

  10. 10

    如何在连接字符串中添加数据目录以在客户端计算机上部署应用程序?

  11. 11

    当客户端和实际应用程序位于不同容器中时配置事务管理器?

  12. 12

    REST客户端:302尝试传递XML字符串时找到

  13. 13

    从客户端传递到nodeJS时,字符串变为对象

  14. 14

    是否需要Oauth2客户端应用程序具有SSL连接?

  15. 15

    具有客户端异常的简单RMI应用程序

  16. 16

    Python Graphql客户端-传递变量时出现意外的标点符号

  17. 17

    在客户端访问服务器变量时获取空字符串

  18. 18

    处理具有很长字符串的单元格时,应用程序定义的错误?

  19. 19

    在jQuery选择器中传递2个变量时,没有结果,但是在键入相同的字符串输出时,它确实

  20. 20

    当在jQuery选择器中传递2个变量时,没有结果,但是在键入相同的字符串输出时,它确实

  21. 21

    使用 C# 客户端将文件上传到 PHP 服务器时没有结果字符串

  22. 22

    如何通过 AWS AppSync 客户端将包含字符串的变量传递给 GraphQL 查询?

  23. 23

    带有MVC的Azure Active Directory,客户端和资源标识相同的应用程序

  24. 24

    是否可以使用一个应用程序发送具有不同侦听连接字符串的通知?

  25. 25

    加密字符串时,如何始终获得具有相同设置的相同结果?

  26. 26

    使用Vaadin 7应用程序中的推送显示相同数据穿越多个客户端

  27. 27

    将AWS凭证传递给亚马逊客户端构造函数时出现“ TypeError:预期字符串,找到元组”

  28. 28

    通过Web和Windows客户端应用程序具有ADAL登录经验的常见Oauth

  29. 29

    在移动消息传递应用程序中,是否应该从服务器或客户端触发发送消息?

热门标签

归档