zoukankan      html  css  js  c++  java
  • 软件工程 2016.6.28 日报

    今天,通过调查表的反馈明确了改进方向。作为组长,我负责整个项目的进度管理和质量控制,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 ",WSAGetLastError());

    }

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

  • 相关阅读:
    4. Object
    3. string
    8. 滚动条美化
    7. 单位,移动布局
    2. js的异步
    2. 即时通讯
    让PHP更快的提供文件下载
    phpstorm+xdebug远程调试设置
    postman自动生成签名
    一位技术人员成长历程
  • 原文地址:https://www.cnblogs.com/vansama/p/5624998.html
Copyright © 2011-2022 走看看