【问题标题】:multi sockets in boost asio?boost asio中的多插座?
【发布时间】:2017-12-31 12:46:47
【问题描述】:

我想使用 boost::asio 制作一个聊天服务器,随着程序变得越来越复杂和难以阅读,我想知道是否可以在同一个客户端和服务器端使用多个套接字?

如果我不能让你很清楚,例如,在我的服务器端,我有 intstring 变量,我想将它们发送到不同的套接字中,不会相互影响。

嗯...int 变量是通过 socket1 发送的,string 是通过 socket2 发送的。 客户端应该“知道”同样的事情来自哪个套接字int 正在“到来”,来自哪个string。如果这是可能的,我会很高兴看到一些例子:)

提前谢谢你!

【问题讨论】:

  • 我完全不确定你想要做什么,但我很确定,不管是什么,这都是一个非常糟糕的主意:(

标签: c++ sockets boost-asio


【解决方案1】:

程序变得越来越复杂,我自己也难以阅读

您可能需要重构一下。即使是大代码也应该易于阅读和理解。

我有 int 和 string 变量,我想将它们发送到不相互影响的不同套接字中。

您不会为要发送的每种数据类型创建新的套接字。为您的消息添加适当的标头,并通过错误检查解析接收到的数据类型。

例如(简体):

std::string tx = "12345678Test";

std::stringstream ss(tx);
int num;
ss >> num;

std::string s;
ss >> s;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    相关资源
    最近更新 更多