我遵循了simpletun.c示例@ http://backreference.org/2010/03/26/tuntap-interface-tutorial/
我已成功创建并附加到水龙头界面。我也可以从界面上读取没有问题。但试图写入它失败报告“无效论证”。代码如下:
int TapInterface::write(char *buf, int n)
{
int nwrite;
if((nwrite=::write(this->my_tap_fd, buf, n))<0)
{
qDebug("Writing data") ;
perror("Error:");
exit(1);
}
return nwrite;
}
....
....
QByteArray txData("hello");
write(txData.data(), txData.length());//sample function call to write to tap interface
任何帮助?
可以看出我在tap界面写的是一个样本“hello”msg!这可能是问题的根源吗?它应该是一个有效的以太网帧/ IP数据包吗?