套接字上的流对象
Streaming objects on a socket
这个问题不是专门关于套接字的,而是一个c++问题。但是,我有一个可以通过套接字发送和接收数据的类。我想用流语法发送数据,所以我创建了<<类中的操作符:
virtual const BaseSocket& operator << (const std::string &oMessage);
现在在我的代码中,我可以使用它,它工作了:
socket << "data";
我现在面临的问题是,我只能在每行放一个元素,而不能使用:
socket << "data1" << "data2";
我知道当我想要流式传输它们时,我必须重载其他数据类型的操作符,如int, float等,但我无法找到为什么我不能链接变量
您应该从const BaseSocket&
中删除const
BaseSocket& operator << (const std::string &oMessage);
const是防止链接的原因,因为操作符<<
本身是非const,所以不能在const变量上调用它,const变量是前一个操作符调用
相关文章:
- 在C ++ ASIO中,如何为HTTP或HTTPS创建相同的套接字对象(接口/抽象问题?
- 通过 c++ 中的 udp 套接字将派生类对象从一个进程发送到另一个进程
- 为什么信号连接会使套接字客户端对象失效?
- 同一提升 TCP 套接字对象上的多个连接
- 无法解析在 0MQ 套接字中收到的 Jsoncpp 对象
- 通过套接字将 Mat 对象从 c++ 发送到 Java
- 无法将套接字对象移动到std::vector中
- 提升同一对象上的异步套接字和线程池io_service
- 从文件描述符实例化套接字对象的非侵入性方法
- 包含互斥对象C++时出现套接字问题
- C++面向对象的客户端套接字应用程序设计
- C++如何通过套接字发送对象
- 从套接字对象获取fd或句柄
- 套接字上的流对象
- 通过套接字将对象(XML输出或任何c++对象类型)从服务器传递到客户机,反之亦然
- 通过套接字发送带有vector的c++对象
- 向给定remote_endpoint对象和套接字的客户端发送数据包
- 序列化c++对象,通过套接字发送给Python -最好的方法
- 带超时的多线程面向对象套接字代码
- 通过ZeroMQ以字符串形式接收对象,然后通过另一个套接字以零拷贝发送对象的正确方法是什么