架构调整后,修正2860兼容问题,网关C上测试令牌网通过,握手登录心跳
This commit is contained in:
parent
ce1b811973
commit
0cb8ff5e22
|
@ -10,7 +10,7 @@ bool Callback(TinyIP* tip, void* param, Stream& ms);
|
||||||
|
|
||||||
TcpSocket::TcpSocket(TinyIP* tip) : TinySocket(tip, IP_TCP)
|
TcpSocket::TcpSocket(TinyIP* tip) : TinySocket(tip, IP_TCP)
|
||||||
{
|
{
|
||||||
//Port = 0;
|
Host = tip;
|
||||||
|
|
||||||
// 累加端口
|
// 累加端口
|
||||||
static ushort g_tcp_port = 1024;
|
static ushort g_tcp_port = 1024;
|
||||||
|
@ -382,7 +382,8 @@ bool TcpSocket::Send(const ByteArray& bs)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//Stream ms(sizeof(ETH_HEADER) + sizeof(IP_HEADER) + sizeof(TCP_HEADER) + bs.Length());
|
//Stream ms(sizeof(ETH_HEADER) + sizeof(IP_HEADER) + sizeof(TCP_HEADER) + bs.Length());
|
||||||
byte buf[sizeof(ETH_HEADER) + sizeof(IP_HEADER) + sizeof(TCP_HEADER) + 256];
|
//byte buf[sizeof(ETH_HEADER) + sizeof(IP_HEADER) + sizeof(TCP_HEADER) + 256];
|
||||||
|
byte buf[1500];
|
||||||
Stream ms(buf, ArrayLength(buf));
|
Stream ms(buf, ArrayLength(buf));
|
||||||
ms.Seek(sizeof(ETH_HEADER) + sizeof(IP_HEADER));
|
ms.Seek(sizeof(ETH_HEADER) + sizeof(IP_HEADER));
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ uint TinyIP::Fetch(Stream& ms)
|
||||||
if(len < sizeof(ETH_HEADER)) return 0;
|
if(len < sizeof(ETH_HEADER)) return 0;
|
||||||
|
|
||||||
// 位置指针后移
|
// 位置指针后移
|
||||||
ms.Seek(-len);
|
//ms.Seek(-len);
|
||||||
|
|
||||||
// 获取第一个结构体,不要移动指针
|
// 获取第一个结构体,不要移动指针
|
||||||
ETH_HEADER* eth = ms.Retrieve<ETH_HEADER>(false);
|
ETH_HEADER* eth = ms.Retrieve<ETH_HEADER>(false);
|
||||||
|
@ -415,7 +415,7 @@ TinySocket::TinySocket(TinyIP* tip, IP_TYPE type)
|
||||||
Tip = tip;
|
Tip = tip;
|
||||||
Type = type;
|
Type = type;
|
||||||
Enable = false;
|
Enable = false;
|
||||||
|
|
||||||
// 除了ARP以外,加入到列表
|
// 除了ARP以外,加入到列表
|
||||||
if(type != IP_NONE) tip->Sockets.Add(this);
|
if(type != IP_NONE) tip->Sockets.Add(this);
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,11 +34,8 @@ public:
|
||||||
TinySocket* FindByType(ushort type);
|
TinySocket* FindByType(ushort type);
|
||||||
};
|
};
|
||||||
|
|
||||||
//class TinyIP;
|
|
||||||
//typedef bool (*LoopFilter)(TinyIP* tip, void* param, Stream& ms);
|
|
||||||
|
|
||||||
// 精简以太网协议。封装以太网帧以及IP协议,不包含其它协议实现,仅提供底层支持。
|
// 精简以太网协议。封装以太网帧以及IP协议,不包含其它协议实现,仅提供底层支持。
|
||||||
class TinyIP
|
class TinyIP : public ISocketHost
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
ITransport* _port;
|
ITransport* _port;
|
||||||
|
@ -54,22 +51,12 @@ public:
|
||||||
|
|
||||||
// 任务函数
|
// 任务函数
|
||||||
static void Work(void* param);
|
static void Work(void* param);
|
||||||
// 带过滤器的轮询
|
|
||||||
//bool LoopWait(LoopFilter filter, void* param, uint msTimeout);
|
|
||||||
// 处理数据包
|
// 处理数据包
|
||||||
void Process(Stream& ms);
|
void Process(Stream& ms);
|
||||||
// 修正IP包负载数据的长度。物理层送来的长度可能有误,一般超长
|
// 修正IP包负载数据的长度。物理层送来的长度可能有误,一般超长
|
||||||
void FixPayloadLength(IP_HEADER& ip, Stream& ms);
|
void FixPayloadLength(IP_HEADER& ip, Stream& ms);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
IPAddress IP; // 本地IP地址
|
|
||||||
IPAddress Mask; // 子网掩码
|
|
||||||
MacAddress Mac; // 本地Mac地址
|
|
||||||
|
|
||||||
IPAddress DHCPServer;
|
|
||||||
IPAddress DNSServer;
|
|
||||||
IPAddress Gateway;
|
|
||||||
|
|
||||||
// Arp套接字
|
// Arp套接字
|
||||||
TinySocket* Arp;
|
TinySocket* Arp;
|
||||||
// 套接字列表。套接字根据类型来识别
|
// 套接字列表。套接字根据类型来识别
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
UdpSocket::UdpSocket(TinyIP* tip) : TinySocket(tip, IP_UDP)
|
UdpSocket::UdpSocket(TinyIP* tip) : TinySocket(tip, IP_UDP)
|
||||||
{
|
{
|
||||||
//Port = 0;
|
Host = tip;
|
||||||
|
|
||||||
// 累加端口
|
// 累加端口
|
||||||
static ushort g_udp_port = 1024;
|
static ushort g_udp_port = 1024;
|
||||||
|
@ -134,7 +134,8 @@ bool UdpSocket::Send(const ByteArray& bs)
|
||||||
//if(ip.IsAny()) ip = Remote.Address;
|
//if(ip.IsAny()) ip = Remote.Address;
|
||||||
//if(!port) port = Remote.Port;
|
//if(!port) port = Remote.Port;
|
||||||
|
|
||||||
byte buf[sizeof(ETH_HEADER) + sizeof(IP_HEADER) + sizeof(UDP_HEADER) + 256];
|
//byte buf[sizeof(ETH_HEADER) + sizeof(IP_HEADER) + sizeof(UDP_HEADER) + 1024];
|
||||||
|
byte buf[1500];
|
||||||
Stream ms(buf, ArrayLength(buf));
|
Stream ms(buf, ArrayLength(buf));
|
||||||
ms.Seek(sizeof(ETH_HEADER) + sizeof(IP_HEADER));
|
ms.Seek(sizeof(ETH_HEADER) + sizeof(IP_HEADER));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue