如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
这一部分包含的内容较多,包括一些宏定义和函数.宏定义:#defineuip_outstanding(conn)((conn)->len)#defineuip_datalen()存放在uip_appdata中的现行可用的传入数据长度#defineuip_urgdatalen()到达连接的带外数据长度(紧急的)#defineuip_close()关闭当前连接#defineuip_abort()中止当前连接#defineuip_stop()告诉发送方主机停止发送数据#defineuip_stopped()查明当前连接是否以前被uip_stop()停止过.#defineuip_restart()如果当前连接被uip_stop()停止过,重新开始.#defineuip_udpconnection()查明当前连接是否是udp连接.#defineuip_newdata()查明新传入的数据是否可用#defineuip_acked()查明以前发送的数据是否得到回应了#defineuip_connected()查明连接是否连接上了.#defineuip_closed()查明连接是否是被另一端关闭.#defineuip_aborted()查明连接是否被另一端中止.#defineuip_timeout()查明连接是否超时.#defineuip_rexmit()查明是否需要将上次传送的数据重新传送.#defineuip_poll()查明连接是否被uip轮询了.#defineuip_initialmss()获得当前连接的初始最大段大小.#defineuip_mss()获取可以在当前连接上发送的最大段大小.#defineuip_udp_remove(conn)移除一个udp连接.#defineuip_udp_bind(conn,port)绑定一个udp连接到本地端口#defineuip_udp_send(len)在当前连接上发送一个长度为len的udp数据报.复制代码函数:voiduip_listen(u16_tport);开始监听指定的端口.voiduip_unlisten(u16_tport);停止监听指定的端口.uip_conn*uip_connect(uip_ipaddr_t*ripaddr,u16_tport);通过TCP连接到远程主机.voiduip_send(constvoid*data,intlen);在当前连接上发送数据.uip_udp_conn*uip_udp_new(uip_ipaddr_t*ripaddr,u16_tport);建立一个新的udp连接.复制代码1.#defineuip_datalen()如果有当前可用的传入数据的话,获取其长度.必需先调用uip_data()查明是否有当前可用的传入数据.应有例程:HYPERLINK"http://www.sics.se/~adam/uip/uip-1.0-refman/a00048.html"\l"a15"\t"_blank"dhcpc.c,HYPERLINK"http://www.sics.se/~adam/uip/uip-1.0-refman/a00044.html"\l"a236"\t"_blank"telnetd.c,andHYPERLINK"http://www.sics.se/~adam/uip/uip-1.0-refman/a00040.html"\l"a309"\t"_blank"webclient.c.此宏定义于HYPERLINK"http://www.sics.se/~adam/uip/uip-1.0-refman/a00203.html"\t"_blank"uip.h的HYPERLINK"http://www.sics.se/~adam/uip/uip-1.0-refman/a00203.html"\l"l00550"\t"_blank"550行.2.#defineuip_urgdatalen()任何到达连接的带外数据(紧迫数据)长度.要使用此宏,应配置UIP_URGDATA宏为真.此宏定义于此宏定义于HYPERLINK"http://www.sics.se/~adam/uip/uip-1.0-refman/a00203.html"\t"_blank"uip.h的HYPERLINK"http://www.sics.se/~adam/uip/uip-1.0-refman/a00203.html"\l"l00561"\t"_blank"561行.3.#defineuip_close()此函数会以一种谨慎的方式关闭连接.应用例程:HYPERLINK"h