- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RT-Thread网络实验1-简单的HTTP服务器.pdf
RT-Thread 网络实验1 简单的HTTP 服务器 实验目的: 了解RT-Thread 的网络组件,了解LWIP 的基本API 使用; 了解HTTP/1.0 协议的基本功能 掌握使用LwIP API 实现一个实际地应用 实验设计: 设计一个简单的web 服务器应用,它由单一线程组成,负责接收来自网络的连接,响应HTTP 请求,以及关闭连接。 在这个应用中的线程 lw_thread()负责必要的初始化及连接设置工作;连接设置过程是一个相当 简单的例子,显示了如何使用最小限度API 初始化连接。使用netconn_new() 函数建立一个连接 后,这个连接被绑定在TCP 80 端口并且进入监听(LISTEN )状态,等待连接。一旦一个远程 主机连接进来,netconn accept() 函数将返回连接的 netconn 结构。当这个连接已经被 process _connection() 函数处理后,必须使用netconn_delete() 函数删除这个netconn 。 在 process_connection() 函数,调用netconn_recv() 函数接收一个netbuf ,然后通过netbuf_data() 函数获取一个指向实际的请求数据指针。这个指针指向netbuf 中的第一个数据片断,并且我们 希望它包含这个请求。这并不是一个不合实际的想法,因为我们只读取这个请求的前七个字节。 如果我们想读取更多的数据,简单的方法是使用 netbuf_copy() 函数复制这个请求到一个连续的 内存区然后在那里处理它。 这个简单的web 服务器只响应HTTP GET 对文件“/ ”的请求,并且检测到请求就会发出响应。 这里,我们既需要发送针对HTML 数据的HTTP 头,还要发送HTML 数据,所以对netconn_write() 函数调用了两次。因为我们不需要修改HTTP 头和HTML 数据,所以我们将netconn_write() 函 数的flags 参数值设为NETCONN NOCOPY 以避免复制。 最后,连接被关闭并且process_connection() 函数返回。连接结构也会在这个调用后被删除。 源程序说明: 先看下简单HTTP 服务器的实现代码 /* 使用最小限度API实现的一个简单的HTTP/1.0服务器 */ #include lwip/api.h #include finsh.h /* 这是实际的web页面数据。大部分的编译器会将这些数据放在ROM里 */ ALIGN(4) const static char indexdata[] = html \ headtitleA test page/title/head \ body \ This is a small test page. \ /body \ /html; ALIGN(4) const static char http_html_hdr[] = Content-type: text/html\r\n\r\n; /* 这个函数处理进入的连接 */ static void process_connection(struct netconn *conn) { struct netbuf *inbuf; char *rq; rt_uint16_t len; /* 从这个连接读取数据到inbuf,我们假定在这个netbuf中包含完整的请求 */ inbuf = netconn_recv(conn); /* 获取指向netbuf中第一个数据片断的指针,在这个数据片段里我们希望包含这个请 求 */ netbuf_data(inbuf, (void**)rq, len); /* 检查这个请求是不是HTTP GET /\r\n */ if( rq[0] == G rq[1] == E rq[2] == T rq[3] == ) { /* 发送头部数据 */ netcon
您可能关注的文档
- RBD可靠性框图建模.pdf
- RedHat AS 5下Oracle10g安装文档.doc
- RFC目录及对照表.pdf
- RG-WGP500产品介绍.pdf
- RMII模式以太网PHY芯片DP83848C的应用.pdf
- RS485详细说明和接受.pdf
- RT586-48通道恒流.pdf
- RT缺陷及如何评片.pdf
- S11赛季:高阶督军评级战场猎人心得分享.pdf
- s8016操作手册 第三分册(V1.55)14-缩略语.pdf
- 2025年无人机低空医疗物资投放社会效益报告.docx
- 2025年再生塑料行业包装回收利用产业链重构研究.docx
- 《AI眼镜周边产品市场机遇:2025年终端销售与需求增长洞察》.docx
- 2025年坚果加工行业深加工技术突破与市场拓展策略报告.docx
- 2025年通信芯片行业技术竞争与未来趋势报告.docx
- 《2025年生鲜电商配送冷链事故分析与预防措施》.docx
- 《商业航天融资新趋势2025民营卫星企业资本涌入估值分析市场动态》.docx
- 2025年能源绿色健康行业创新技术与市场应用报告.docx
- 2025年无人机低空医疗救援通信方案分析报告.docx
- 2025年烹饪机器人行业市场集中度分析报告.docx
最近下载
- 地利亚修女纪念学校(协和).doc VIP
- 2025年无人机驾驶员执照航路规划低空经济发展与航路规划专题试卷及解析.pdf VIP
- 油层物理期末试题卷七套.pdf VIP
- 2025年互联网营销师视频营销终极模拟测试专题试卷及解析.pdf VIP
- 右手五指练习 17《孩子们的拜厄 (上)》钢琴谱钢琴简谱 数字谱 钢琴双手简谱.pdf VIP
- T_HSSIA 2025—004(堤坡生态治理复合装配式连锁笼).pdf
- 文件传输协议(TFTP)在设备更新失败下的GNN补偿机制.pdf VIP
- 2025年互联网营销师私域社群活跃度与健康度数据分析专题试卷及解析.pdf VIP
- 2025年特许金融分析师单样本与双样本检验专题试卷及解析.pdf VIP
- 2025年特许金融分析师行业进入与退出壁垒评估专题试卷及解析.pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)