码迷,mamicode.com
首页 > 其他好文 > 详细

软件工程 2016.6.28 日报

时间:2016-06-28 21:53:30      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

今天,通过调查表的反馈明确了改进方向。作为组长,我负责整个项目的进度管理和质量控制,10天里的主要方向是:

  1、不断进行新版本的需求分析从而明确组员行动方向

  2、指导测试人员完成高质量的测试

  3、撰写主要的文档

今天完成学习一些网络编程处理ip包方面的知识,对我们的平台拓展可能有一定的帮助。

linux下ip头选项ipoption的实现(难以实现,setsockopt()函数不支持BSD标准下的IP_OPTION这一关键字)

在windows下

定义ipoptionhdr结构体

typedef struct _ipoptionhdr
{
unsigned char code;
unsigned char len;
unsigned char ptr;
unsigned long addr[9];
}IpOptionHeader;

然后在发包前对socket进行设置

if(RecordFlag)
{
//ip选项每个字段用0初始化
ZeroMemory(&IpOption,sizeof(IpOption));
//为每个ICMP包设置路由选项
IpOption.code=IP_RECORD_ROUTE;
IpOption.ptr=4;
IpOption.len=39;

ret=setsockopt(m_socket,IPPROTO_IP,IP_OPTIONS,(char*)&IpOption,sizeof(IpOption));
if(ret==SOCKET_ERROR)
{
printf("setsockopt(IP_OPTIONS) failed:%d\n",WSAGetLastError());

}

就可以完成在ip头的扩展选项中完成包的路由的记录的功能。

软件工程 2016.6.28 日报

标签:

原文地址:http://www.cnblogs.com/vansama/p/5624998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!