嵌入式tcp_ip协议栈说明书

嵌入式tcp_ip协议栈说明书

ID:36994368

大小:63.00 KB

页数:6页

时间:2019-05-06

嵌入式tcp_ip协议栈说明书_第1页
嵌入式tcp_ip协议栈说明书_第2页
嵌入式tcp_ip协议栈说明书_第3页
嵌入式tcp_ip协议栈说明书_第4页
嵌入式tcp_ip协议栈说明书_第5页
资源描述:

《嵌入式tcp_ip协议栈说明书》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、嵌入式TCP_IP协议栈说明书杨文斌2008-9-1一、总则本文件是嵌入式TCP/IP协议栈的说明文件,嵌入式TCP/IP应用开发人员可通过阅读本文件,掌握在嵌入式TCP/IP协议栈的基础上开发服务器和客户端应用程序,如FTP服务器,WEB服务器,串口服务器等等。二、参考文件1)TCP_IP详解卷1,2,32)RFC959(rfc959)-FileTransferProtocol.htm3)rfc1945-HypertextTransferProtocol--HTTP/1.0三、技术说明1)用户应用协议栈则需要编写以太网的数据报收发驱动,就可以使用协议栈提

2、供的标准SOCKETAPI,完成服务器和客户端应用程序的开发。2)协议栈运行于非操作系统的环境下,因此它的运行速度与一般采用多任务操作系统的TCP/IP协议,速度相对说来要快。3)协议栈完成的功能包括ARP,IP,ICMP(ping),TCP,UDP,暂不支持IGMP,RARP。4)协议栈采用C代码编写,可方便的移植于各种单片机平台。5)协议栈在ARM7+RTL8019硬件环境下测试,并建立了FTP服务器和WEB服务器,性能稳定。6)协议栈建立的FTP服务器和WEB服务器与InternetExplorer浏览器和ftp.exe相互兼容。7)协议栈每一个SO

3、CKET上建了数据缓冲队列(数据结构),用于接收SOCKET的并发数据,实现多SOCKET的并发数据报处理,可同时运行FTP服务器和WEB服务器。8)协议栈实现了ACK的延时答应(200ms),支持TCP多包发送和接收,但未支持TCP数据报的失序处理,因此适合局域网内使用。四、SOCKETAPI函数1)函数SOCKET*socket(u16af,u16type,u16protocol)本函数功能是从SOCKETpool中分配一个SOCKET插口,供应用程序使用,其参数说明如下:1.参数af,type—无意义,保留为扩充功能使用。2.参数protocol—为

4、分配SOCKET的类型,包括TCP_PROTOCOL和UDP_PROTOCOL两个类型。3.返回值:函数执行成功,返回SOCKET*指针指向一个SOCKET,失败返回NULL2)函数u16bind(SOCKET*sock,structsockaddr*address,u8len)本函数功能是将IP地址和端口绑定到一个SOCKET指针*sock指向的SOCKET。1.SOCKET*sock—指向被绑定的SOCKET。2.structsockaddr*address—指向IP地址和端口。3.len—无意义,保留为扩充功能使用。4.返回值:SUCC。3)函数u1

5、6listen(SOCKET*sock,u16QTY)本函数功能是启动被绑定了地址和端口的SOCKET*sock,触发其为监听状态。本函数由服务器端应用程序使用。1.SOCKET*sock—指向被bind的SOCKET。2.返回值:SUCC。4)函数u16connect(SOCKET*sock,structsockaddr*sevaddr,u8len)本函数功能是用于建立一个连接到服务器,服务器的地址和端口由参数sevaddr指定。该函数由客户端使用。1.SOCKET*sock—指向被连接的本地SOCKET。2.structsockaddr*sevaddr

6、,--服务器的地址和端口.1.u8len—无意义,保留为扩充功能使用。2.返回值:是SOCKET句柄。1)函数u16accept(SOCKET*sock,structsockaddr*address,u16*iii)本函数返回一个已连接的SOCKET句柄,供函数recv(),send()收发数据使用。1.SOCKET*sock—指向一个被绑定地址和端口的SOCKET2.structsockaddr*address,u16*iii--无意义,保留为扩充功能使用。3.返回值:是SOCKET句柄。2)函数u16recv(u16handle,u8*rec_buff

7、,u16len,u16i)指定句柄读取数据,由TCP使用1.u16handle--指定句柄2.u8*rec_buff—缓冲区首地址3.u16len—读取数据的长度4.u16i--无意义,保留为扩充功能使用。5.返回值:为已读取的字节数3)函数u8send(u16handle,u8*rec_buff,u16len,u16i)向指定句柄发送数据,由TCP使用1.u16handle--指定句柄2.u8*rec_buff—缓冲区首地址3.u16len—发送数据的长度4.u16i--无意义,保留为扩充功能使用。5.返回值:是SUCC4)voidclose(u16ha

8、ndle)发送FIN主动关闭一个SOCKET连接,handle为被

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。