亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tcp.lst

?? 基于51單片機和RTL8019以太網控制器的嵌入式以太網控制程序。
?? LST
?? 第 1 頁 / 共 5 頁
字號:
C51 COMPILER V8.02   TCP                                                                   09/21/2006 20:16:32 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE TCP
OBJECT MODULE PLACED IN TCP.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TCP.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <general.h>
   2          
   3          extern xdata union IP_address temp_ip_address;                             //用于存放臨時IP地址
   4          extern xdata union Ethernet_address my_ethernet_address;           //本機的以太網地址
   5          extern xdata union IP_address my_ip_address;                               //本機的ip地址
   6          extern xdata union IP_address mask_ip_address;  
   7          extern xdata union IP_address gateway_ip_address;
   8          extern unsigned int frameindex;
   9          extern xdata union netcard rxdnet;
  10          xdata union netcard TCPSend;                                               // 用于TCP發送緩沖區                                            //IP包的序列號
  11          xdata union IP_address my_ServerIP;
  12          //-------------跟超時重發有關的設置------------------------
  13          
  14          TCPBUF xdata Queen[QUEENLEN];                           //允許有QUEENLEN個數據包在隊列里
  15          unsigned char xdata  TCPBuf[BUFLEN];            //緩沖區
  16          
  17          // Options: MSS (4 bytes), NOPS (2 bytes), Selective ACK (2 bytes)
  18          unsigned char code opt[10] = {
  19          0x02, 0x04, 0x05, 0xB4,
  20          0x01, 0x01,
  21          0x04, 0x02};
  22          
  23          
  24          // 最大5個連接
  25          CONNECTION xdata  conxn[NO_CONNECTION];
  26          
  27          //初始化序號,根據時間在改變
  28          unsigned long  xdata initial_sequence_nr;
  29          unsigned char idata just_closed; // Keeps track of when a conxn closed
  30          
  31          
  32          xdata struct wait arpwait;              //用于等待ARP.
  33          
  34          
  35          xdata union sw Server_PORT;
  36          //#define HTTP_PORT                                     3330
  37          
  38          
  39          xdata union IP_address sender_ipaddr;                              //保存發送者的IP地址
  40          unsigned int xdata sender_tcpport;                                         //保存發送者端口
  41          unsigned char idata debug;                              //用于調試
  42          
  43          
  44          extern unsigned char data WriteBuf;     //寫內容
  45          extern unsigned char data addr0,addr1;  //地址
  46          sbit P11=P1^1;
  47          //------------------------------------------------------------------------
  48          //函數功能:生成TCP包CRC校驗
  49          //
  50          //入參:發送區指針,TCP包的長度(包括頭部)
  51          //
  52          //
  53          //
  54          //
  55          //作者:
C51 COMPILER V8.02   TCP                                                                   09/21/2006 20:16:32 PAGE 2   

  56          //
  57          //注意:
  58          //
  59          //
  60          //注釋:        Mingtree
  61          //日期:        2004-11-10
  62          //------------------------------------------------------------------------
  63          void createtcpcrc(union netcard xdata *pTxdnet,unsigned int len)//生成TCP包CRC校驗
  64          {
  65   1      
  66   1              unsigned long sum;
  67   1              unsigned int result;
  68   1          unsigned int result2;
  69   1              unsigned char hdr_len;
  70   1      
  71   1      
  72   1              //計算檢驗和,包括偽頭部,TCP頭部,數據
  73   1              // Compute checksum including 12 bytes of pseudoheader
  74   1              // Must pre-fill 2 items in ip header to do this
  75   1              //計算TCP頭部長度
  76   1              hdr_len=(pTxdnet->tcpframe.offset)>>2;
  77   1      
  78   1      
  79   1              //-------------------------------------------------------------
  80   1              //                              算法1
  81   1      
  82   1              // Sum source_ipaddr, dest_ipaddr, and entire TCP message
  83   1              sum = (unsigned long)checksum(&(pTxdnet->ippacket.ippacket[6]) , 8 + len);
  84   1      
  85   1              // Add in the rest of pseudoheader which is
  86   1              // protocol id and TCP segment length
  87   1              sum += (unsigned long)0x0006;
  88   1              sum += (unsigned long)len;
  89   1      
  90   1              // In case there was a carry, add it back around
  91   1              result2 = (unsigned int)(sum + (sum >> 16));
  92   1      //      pTxdnet->tcpframe.crc = ~result;
  93   1          result2=~result2;
  94   1      
  95   1              //-----------------------------------------------------------
  96   1      
  97   1      
  98   1              //-----------------------------------------------------------
  99   1              //                算法2
 100   1      
 101   1              pTxdnet->ipframe.ttl=0;
 102   1              pTxdnet->ipframe.crc=len;
 103   1              pTxdnet->ipframe.protocal=0x0006;
 104   1      
 105   1              result=checksum(&(pTxdnet->ippacket.ippacket[4]),12+ len);
 106   1              pTxdnet->tcpframe.crc=result;
 107   1              //-----------------------------------------------------------
 108   1      
 109   1      }
 110          //------------------------------------------------------------------------
 111          //函數功能:對tcp頭進行校驗,錯誤返回0,正確返回1
 112          //
 113          //入參:        無
 114          //
 115          //
 116          //
 117          //
C51 COMPILER V8.02   TCP                                                                   09/21/2006 20:16:32 PAGE 3   

 118          //作者:
 119          //
 120          //注意:
 121          //
 122          //
 123          //注釋:        Mingtree
 124          //日期:        2004-11-10
 125          //------------------------------------------------------------------------
 126          unsigned char verifytcpcrc(union netcard xdata *pRxdnet)//對tcp頭進行校驗,錯誤返回0,正確返回1
 127          {
 128   1              unsigned int crc;
 129   1      
 130   1              pRxdnet->ipframe.ttl=0;
 131   1                      pRxdnet->ipframe.protocal=0x0006;
 132   1              //將IP包的16位首部檢驗和替換成TCP包的長度
 133   1              pRxdnet->ipframe.crc=pRxdnet->ipframe.totallength-(pRxdnet->ipframe.verandihl&0x0f)*4;
 134   1              crc=checksum(&(pRxdnet->ippacket.ippacket[4]),pRxdnet->ipframe.crc+12);
 135   1      
 136   1              if(crc==0) return (1);
 137   1              return(0);
 138   1      }
 139          //------------------------------------------------------------------------
 140          //函數功能:發送IP包
 141          //
 142          //入參:        發送緩沖區,接收方IP地址,協議類型,低層協議數據包長度(包括頭部)
 143          //
 144          //
 145          //
 146          //
 147          //作者:
 148          //
 149          //注意:
 150          //
 151          //
 152          //注釋:        Mingtree
 153          //日期:        2004-11-29
 154          //------------------------------------------------------------------------
 155          void ip_send(union netcard xdata *pTxdnet,union IP_address ip, unsigned char proto_id, unsigned int len)
 156          {
 157   1              xdata union Ethernet_address  temp;
 158   1              //構建以太網包
 159   1              pTxdnet->etherframe.protocal=0x0800;
 160   1              pTxdnet->etherframe.uSourceID[0]=my_ethernet_address.words[0];
 161   1              pTxdnet->etherframe.uSourceID[1]=my_ethernet_address.words[1];
 162   1              pTxdnet->etherframe.uSourceID[2]=my_ethernet_address.words[2];
 163   1              pTxdnet->ipframe.verandihl=0x45;
 164   1              pTxdnet->ipframe.typeofserver=0x00;
 165   1              pTxdnet->ipframe.totallength=20+len;
 166   1          pTxdnet->ipframe.ttl=0x80;
 167   1              pTxdnet->ipframe.frameindex=frameindex;
 168   1              frameindex++;
 169   1              pTxdnet->ipframe.segment=0x0000;
 170   1              pTxdnet->ipframe.protocal=proto_id;
 171   1          pTxdnet->ipframe.crc=0;
 172   1          pTxdnet->ipframe.destip[0]=ip.words[0];
 173   1          pTxdnet->ipframe.destip[1]=ip.words[1];
 174   1          pTxdnet->ipframe.sourceip[0]=my_ip_address.words[0];
 175   1          pTxdnet->ipframe.sourceip[1]=my_ip_address.words[1];
 176   1          pTxdnet->ipframe.crc=createipheadcrc(pTxdnet);
 177   1      
 178   1              //判斷對方IP是否在同一網段內

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品久久久久久久99樱桃| 日本一区二区三区在线观看| 91国产成人在线| 韩国av一区二区三区在线观看| 亚洲视频一区在线观看| 2欧美一区二区三区在线观看视频| 国产精品一区二区久久精品爱涩 | 国内精品伊人久久久久av影院 | 欧美日韩国产高清一区二区| 国产又黄又大久久| 成人v精品蜜桃久久一区| 激情综合网最新| 亚洲成人tv网| 亚洲成人黄色影院| 久久这里只有精品视频网| 欧美男人的天堂一二区| 一本高清dvd不卡在线观看| 麻豆精品国产91久久久久久 | 久久国产综合精品| 成人国产视频在线观看| 久久福利视频一区二区| 日本网站在线观看一区二区三区| 国产91精品欧美| 欧美在线观看一二区| 欧美色精品在线视频| 国产精品不卡视频| 一区二区三区在线视频播放| 日韩一区二区三区精品视频| 国产精品电影一区二区三区| 亚洲自拍偷拍欧美| 国内国产精品久久| 欧美一区二区三区成人| 久久国产生活片100| 亚洲天堂福利av| 亚洲欧美激情一区二区| 国产在线日韩欧美| 综合自拍亚洲综合图不卡区| 91精品国产全国免费观看| 亚洲国产精品影院| 欧美草草影院在线视频| 日韩欧美一级二级| 国产精品女人毛片| 国产成人精品影视| 欧美日韩在线不卡| 久久久精品蜜桃| 香蕉久久一区二区不卡无毒影院| 99精品视频一区二区| 亚洲欧美国产77777| 国产不卡高清在线观看视频| 久久嫩草精品久久久精品| 精品综合免费视频观看| 日本一道高清亚洲日美韩| 26uuu精品一区二区三区四区在线| 日韩理论片中文av| 成人高清免费观看| 国产精品久久久爽爽爽麻豆色哟哟| 国产麻豆成人精品| 中文字幕日韩一区| 欧美日韩中文字幕一区二区| 亚洲色欲色欲www| 欧美视频在线一区| 裸体歌舞表演一区二区| 国产精品天美传媒| 玉足女爽爽91| 国产精品私人自拍| 日韩专区在线视频| 欧美精品一区二区三区四区 | 久久99在线观看| 亚洲国产电影在线观看| 国产免费成人在线视频| 色婷婷综合激情| 国产高清不卡一区二区| 亚洲欧美日韩一区二区| 日韩一区二区三区三四区视频在线观看| 一区二区三区在线视频观看58| 欧美日韩亚洲另类| 国产精品自产自拍| 日本成人在线不卡视频| 国产午夜一区二区三区| 欧美精品丝袜久久久中文字幕| 国产精选一区二区三区| 免费成人av资源网| 亚洲国产精品影院| 亚洲视频一二三区| 久久久精品免费网站| 欧美三级一区二区| 成人免费精品视频| 久久精品人人做人人综合| 欧美男人的天堂一二区| 91成人免费在线| 91国偷自产一区二区三区成为亚洲经典| 久久精品国产成人一区二区三区| 亚洲日本青草视频在线怡红院| 久久色视频免费观看| 欧美日韩国产成人在线免费| 欧美日韩大陆在线| 欧美乱熟臀69xxxxxx| 欧美日本一区二区三区四区| 91影院在线观看| 色婷婷久久99综合精品jk白丝| 色av综合在线| 国产日韩欧美a| 国产精品福利av| 亚洲动漫第一页| 一区二区三区在线免费视频| 日本欧美加勒比视频| 麻豆一区二区三区| 97精品久久久午夜一区二区三区| 成人高清av在线| 欧美另类高清zo欧美| 日韩视频免费观看高清完整版在线观看| 欧美日韩精品综合在线| 日韩欧美一级精品久久| 国产精品二区一区二区aⅴ污介绍| 夜夜爽夜夜爽精品视频| 国产最新精品免费| 欧美无砖专区一中文字| 国产麻豆精品在线观看| 欧美精品久久久久久久多人混战| 欧美一区二区免费观在线| 久久精品一区二区三区不卡牛牛| 亚洲精品日韩综合观看成人91| 奇米在线7777在线精品| 99精品视频在线观看| 日韩美女视频在线| 亚洲免费高清视频在线| 国产精品77777竹菊影视小说| 欧美视频一区二区三区四区| 亚洲欧洲日韩在线| 亚洲18影院在线观看| 99久久久精品| 欧美日韩国产美女| 中文字幕精品—区二区四季| 精品在线免费观看| 日韩亚洲欧美中文三级| 午夜电影一区二区三区| 成人一区二区三区视频在线观看 | 亚洲精品在线三区| 理论电影国产精品| 色欧美日韩亚洲| 亚洲女与黑人做爰| 精品一区二区av| 久久久精品日韩欧美| 国产精品综合在线视频| 成人免费在线视频| 国产精品看片你懂得| 久久亚洲影视婷婷| 夜夜精品视频一区二区| 欧美日韩dvd在线观看| 青青草国产成人av片免费| 精品国产乱码久久久久久久久| 久久精品国产免费看久久精品| 91精品国产一区二区| 亚洲伦理在线免费看| 日韩中文字幕区一区有砖一区| 福利一区二区在线观看| 日韩一级黄色片| 亚洲国产欧美在线人成| 99精品视频在线观看| 国产清纯在线一区二区www| 久久国产欧美日韩精品| 欧美剧情电影在线观看完整版免费励志电影| 久久久99久久| 国产一区在线精品| 精品国产乱码久久久久久久久| 日韩av中文字幕一区二区| 69堂精品视频| 蜜桃av一区二区| 久久综合视频网| 国产精品自在欧美一区| 国产亚洲精品aa| 国产精品18久久久久久久久久久久| 26uuu国产在线精品一区二区| 精品在线免费视频| 精品国产精品网麻豆系列| 精品一区二区在线看| 久久久高清一区二区三区| 国产激情一区二区三区四区| 国产日产欧产精品推荐色| 国产高清不卡一区| 日本一区二区三区国色天香| 国产宾馆实践打屁股91| 国产精品成人免费在线| 色综合久久综合网欧美综合网| 综合色天天鬼久久鬼色| 欧美视频三区在线播放| 日韩av一区二区三区四区| 亚洲精品一区二区三区四区高清 | 在线一区二区三区四区五区 | 日韩激情在线观看| 日韩欧美国产系列| 国产一区视频在线看| 国产精品三级久久久久三级| 99久久精品免费| 午夜精品久久久久久久久久久| 日韩精品一区国产麻豆| 国产不卡视频在线播放| 亚洲一区欧美一区| 欧美一级二级在线观看| 国产不卡在线一区|