使用libtins创建IP数据包非常简单:
#define XSAL_SHM_PREFIX "/XSAL_Shm_"
sprintf(shm_name, "%s%d_%d", XSAL_SHM_PREFIX, key, subkey);
但是如何将其转储到缓冲区?我需要IP pkt = IP("192.168.0.1") / TCP(22) / RawPDU("foo");
或char*
格式的内部缓冲区。
通过查看IP数据包的强健性:http://libtins.github.io/docs/latest/dd/d3f/classTins_1_1IP.html,我看不到任何方法都可以转储到缓冲区,也没有发现基于IP类的PDU类http://libtins.github.io/docs/latest/d8/de6/classTins_1_1PDU.html。
更新:
uint8_t*
给我一个以太网数据包,即使我以IP开头。发生什么事了?