请教BOOST 的ASIO编程问题

Joyeep 2009-12-17 11:21:50
void accept_handler(boost::shared_ptr<tcp::socket> psocket, error_code ec)
{
if(ec) return;
// 继续等待连接
start();
// 显示远程IP
std::cout << psocket->remote_endpoint().address() << std::endl;
// 发送信息(非阻塞)
boost::shared_ptr<std::string> pstr(new std::string("hello async world!"));
psocket->async_write_some(buffer(*pstr) ,
boost::bind(&CHelloWorld_Service::write_handler, this, pstr, _1, _2)

);
}

buffer 有个重载是 (void *p, int len) 可以支持自己的数组

我改成:
Class T ;
T _Ty 是自己定义的一个模板类型

void accept_handler(boost::shared_ptr<tcp::socket> psocket, error_code ec)
{
if(ec) return;
// 继续等待连接
start();
// 显示远程IP
std::cout << psocket->remote_endpoint().address() << std::endl;
// 发送信息(非阻塞)
boost::shared_ptr<_Ty> pstr(new _Ty(m_pData));
psocket->async_write_some(buffer(&pstr, sizeof(_Ty) ), boost::bind(&CHelloWorld_Service::write_handler, this, pstr, _1, _2)
);

}


编译器编译不过了,请教这个问题如何解决,
我想用ASIO 发送自己定义结构体的数据,请问还有其他更好的方法吗?
谢谢大家!
...全文
89 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧