当前位置: 首页>>代码示例>>C++>>正文


C++ TCP::sack方法代码示例

本文整理汇总了C++中TCP::sack方法的典型用法代码示例。如果您正苦于以下问题:C++ TCP::sack方法的具体用法?C++ TCP::sack怎么用?C++ TCP::sack使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TCP的用法示例。


在下文中一共展示了TCP::sack方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: TEST_F

TEST_F(TCPTest, Sack) {
    TCP tcp;
    TCP::sack_type edges;
    edges.push_back(0x13);
    edges.push_back(0x63fa1d7a);
    edges.push_back(0xff1c);
    tcp.sack(edges);
    ASSERT_EQ(edges, tcp.sack());
}
开发者ID:Temptationx,项目名称:libtins,代码行数:9,代码来源:tcp.cpp

示例2: main

int main(int argc, char *argv[]) {
    int packet_count, packet_size, test_case;
    if(argc != 5) {
        std::cout << "Usage: " << *argv << " <output_file> <test_case> <num_packets> <payload_size>" << std::endl;
        return 1;
    }
    else {
        test_case = atoi(argv[2]);
        packet_count = atoi(argv[3]);
        packet_size = atoi(argv[4]);
    }
    assert(packet_count > 0);
    assert(packet_size >= 0);
    PacketWriter writer(argv[1], PacketWriter::ETH2);
    EthernetII packet;
    
    if(test_case == 1 || test_case == 2) {
        packet = EthernetII() / IP() / TCP() / RawPDU(std::string(packet_size, 'A'));
        if(test_case == 2) {
            TCP::sack_type sack;
            sack.push_back(1234);
            sack.push_back(5678);
            sack.push_back(91011);
            TCP *tcp = packet.find_pdu<TCP>();
            tcp->mss(1234); 
            tcp->winscale(123);
            tcp->sack_permitted();
            tcp->sack(sack);
            tcp->timestamp(1, 2);
            tcp->altchecksum(TCP::CHK_TCP);
        }
    }
    else if(test_case == 3) {
        const uint8_t dns_data[] = {
            98, 243, 129, 128, 0, 1, 0, 1, 0, 0, 0, 0, 6, 103, 111, 111, 
            103, 108, 101, 3, 99, 111, 109, 0, 0, 2, 0, 1, 192, 12, 0, 2, 
            0, 1, 0, 0, 84, 96, 0, 6, 3, 110, 115, 52, 192, 12
        };
        
        packet = EthernetII() / IP() / UDP(52, 53) / DNS(dns_data, sizeof(dns_data));
    }
    dump_to_file(writer, packet_count, packet);
}
开发者ID:LXiong,项目名称:packet-capture-benchmarks,代码行数:43,代码来源:generator.cpp

示例3: make_tcp_ack

TCP make_tcp_ack(uint32_t ack_number, SackEdges&&... rest) {
    TCP output = make_tcp_ack(ack_number);
    vector<uint32_t> sack = make_sack(rest...);
    output.sack(sack);
    return output;
}
开发者ID:rklabs,项目名称:libtins,代码行数:6,代码来源:tcp_ip.cpp


注:本文中的TCP::sack方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。