WatTcp源码分析
文章平均质量分 57
xxNull
不善言辞,但是心地善良勤奋好学,但是有点固执胸无大志,但是不断努力
展开
-
0 WatTcp源码分析
一、什么是WatTCP 应该说很多人都没有听说的WatTCP。因为它是太古老了──dos时代的东西。简单的说,它是dos底下使用的一个网络库。它实现了UDP和TCP协议。UDP和TCP是TCP/IP协议族中最主要的协议。也就是说,用它我们就可以写dos下的网络通信程序了。二、WatTCP都是可以干什么 WatTCP是一个网络编程库,使用它可以实现网络通信。比如我们可以使用它写局域网内传输原创 2017-10-09 10:03:44 · 396 阅读 · 0 评论 -
1.4 数据的接收 之 UDP解析
对于UDP协议的处理是从udp_handler()函数开始的。我们知道,这个函数是从tcp_tick()调过来的,其参数就是要处理的数据指针。此时,我们已经可以确定这个数据包使用的是UDP协议。接下来就是判断一下该数据包是否是发送给我们的包。很简单,我们仅仅处理我们感兴趣的包就可以了。其中,包括广播包和明确发给我们的数据包(当然,还应该有我们加入的组播组的数据包,但是WatTCP并不支持组播原创 2017-10-09 10:39:34 · 2529 阅读 · 0 评论 -
1.2 数据的接收 之 数据粗加工
当一个人从远方走来的时候,你是不是先分辨他是男是女,是认识还是不认识呢?肯定是这样的。WatTcp也是这样,当接到数据以后,它也会先判断一下是认识还是不认识,是UDP数据还是TCP数据,抑或是其他类型的数据。它会在两个函数中进行判断,一个是: _eth_arrived():判断数据是PD_ETHER类型还是PD_SLIP类型。如果是其他类型就不认识,抛弃。 代码如下:原创 2017-10-09 10:12:49 · 338 阅读 · 0 评论 -
1.1 数据的接收 之 初来乍到
暂且不说这个数据块是从哪儿来的,是怎么传到网卡上面来的。咱们先在要说的是,数据到达网卡以后会发生什么事情。很简单,网卡将数据交给需要该数据的程序就可以了。网卡是如何知道谁需要这个数据呢?难道是吼一嗓子,“喂,大家注意了,我这儿接到一个数据,有没有需要的?”。当然不是。它会告诉它的秘书──网卡驱动程序。网卡驱动程序再从他的笔记本中找到,都是谁告诉过他需要这些数据,然后调用对应的回调函数来拷贝这原创 2017-10-09 10:08:28 · 396 阅读 · 0 评论 -
1.3 数据的接收 之 数据接收全程实例分析
#include <stdio.h> #include <mem.h> #include <wattcp.h> int main(int argc, char *argv[]) { unsigned long host = -1;//默认是广播地址,即可以接收一切主机发送来的消息 udp_Socket s; char myaddr[20], hisaddr[20原创 2017-10-09 09:54:30 · 562 阅读 · 0 评论