zoukankan      html  css  js  c++  java
  • 定义网络传输的包格式

    你定一个简单的确认协议,比如说发送完一个包后就等待接收端发送一个确认的信息过来,然后再发送下一个包。最好给包加个头,头的信息要包含包的编号。
    这里给个简单的例子
    我定义网络传输的包格式
    #define START_PACK  0XFF1
    #define ACK_PACK   OXFF2
    #define DATA_PACK  0XFF3
    #define END_PACK   0xFF4

    typedef struct _my_packet{
          int type; //包类型
           unsigned int seq; //包的编号
           void *buf; //数据域
    }mypack;

    这样接收端收到一个DATA_PACK,就回送一个ACK_PACK,接收端等待一定时间如果没有收到包(可能丢包),则重新发送ACK_PACK(因为没有收到END_PACK,表示传输没有结束)。
    发送端最先发送START_PACK,并等待ACK_PACK,然后发送DATA_PACK,等待ACK_PACK....传输完毕,发送END_PACK,
    实际上你还要考虑到发送端超时问题。
    这里只是给你个简单的思路,希望对你有帮助/。

  • 相关阅读:
    oracle在没
    一天中时针和分钟重合的次数
    oracle的隐藏的东东
    左右小移动
    JS全选的操作
    JS定时器
    在文件中查找字符串
    表单原件
    div和span互换
    div和span的区别
  • 原文地址:https://www.cnblogs.com/zhangleibo/p/6041388.html
Copyright © 2011-2022 走看看