📄 tcp.c
字号:
/*
*****************************************************************************************************
*
* File name: tcp.c
*****************************************************************************************************
*/
#include "..\head\includes.h"
/*
*****************************************************************************************************
* Options: MSS (4 bytes), NOPS (2 bytes), Selective ACK (2 bytes)
*****************************************************************************************************
*/
unsigned char code opt[10] = {
0x02, 0x04, 0x05, 0xB4,
0x01, 0x01,
0x04, 0x02};
//-------------跟超时重发有关的设置------------------------
TCPBUF xdata Queen[QUEENLEN]; //允许有QUEENLEN个数据包在队列里
unsigned char xdata TCPBuf[NO_CONNECTION][TCP_BUF_LEN]; //缓冲区,每一个SOCK须要一个1460长度的UNACK缓冲
// 最大5个连接
CONNECTION xdata conxn[NO_CONNECTION];
unsigned long xdata initial_sequence_nr; //初始化序号,根据时间在改变
unsigned int xdata sender_tcpport; //保存发送者端口
xdata union netcard TCPSend; // 用于TCP发送缓冲区 //IP包的序列号
xdata union IP_address my_ServerIP;
xdata struct wait arpwait; //用于等待ARP.
xdata union sw Server_PORT;
xdata union IP_address sender_ipaddr; //保存发送者的IP地址
unsigned int xdata LocalPort; //本地端口
//////////// hjz /////////////////////
unsigned int xdata HeartTimeOutBak; //初始心跳包时间
bit SendHeartFlag;
bit HttpFlag;
/*
*****************************************************************************************************
*FUNC: 生成TCP包CRC校验
*NOTE: 入参:发送区指针,TCP包的长度(包括头部
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -