请问老古:您的TCPIP程序是哪派?union or malloc?
老古兄:
今闻仁兄有PCI-51-TCPIP套件。顿感钦佩,悔吾之寡闻。数月以来,小弟只马独枪,觅寻此方案无数。所得虽多,却无是从。但有两问,望兄指教。
当今天下流行之51-TCP大分两派,各路豪杰多借鉴本派掌门而发展。
一派以三个公共的缓冲区为基础(收、发、重发),各层共享,定义UNION,让这三个缓冲区上下传输数据。
二派主张数据包谁用谁分配,使用MALLOC函数。二者各有千秋。赶问仁兄认为高低何在?您的TCPIP属于哪派?
闫旭yanxu0211@sina.com
一派代表:
/*所有协议的共用体*/
union Netcard {struct {uchar bytebuf[1536];}bytes;
struct {uint wordbuf[768];}words;
struct ethernet EtherFrame;
struct retransmit ResendFrame;
struct arp ArpFrame;
struct icmp IcmpFrame;
struct tcp TcpFrame;
struct ip IpFrame;
struct udp UdpFrame;
struct IpPacket IpPacket;
};
二派代表:
//------------------------------------------------------------------------
// This functions checks 8019 status then sends an ethernet
// frame to it by calling an assembler function.
//------------------------------------------------------------------------
void send_frame(UCHAR xdata * outbuf, UINT len)/*发送一个数据包的命令,长度最小为60字节,最大1514字节*/
{
发表时间:2003年5月7日16:25:00