Boost :: asio转换为Struct例如recv

问题描述

我想问一下,是否有可能从boost :: asio :: ip :: ip :: udp :: socket将数据直接插入标准BSD套接字中的结构中:

    struct T;
    size = recv(sock,&T,sizeof(T));

由于我收到很多固定大小的数据,所以我真的不想先将数据复制到缓冲区中,然后再从那里复制到结构中。如果这不容易实现,我将再次使用标准的BSD插槽。 Struct是可序列化的,此刻此刻不应该引起关注。

解决方法

阅读the documentation

socket.receive(boost::asio::buffer((void *)&T,sizeof(T)));

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...