这两天,师弟在两台电脑上搭建了lwipwin32通信平台,目的是能够不断发送一幅幅图片图像大小为1280*720大小的图片。如果不考虑压缩情况且是256色即1字节,这样大小的一幅图片需要发送大约发送1M字节。具有李逵性格的山东师弟目标是:客服端发送一次请求,服务器端能够通过TCP方式一次发送大约1M的数据;我震惊了, 我说你可知道MTU(1500)的上限,以及内存的考虑。当然让每次发送一次数据量尽可能大,这种想法是好的;看着他每天哀声叹气,临近毕业的我深表同情,另外我对lwip也蛮干感兴趣的,一直都想玩玩这个技术,但一直没有机会,言归正传,稍微介绍下lwip。
1、概述:lwip是轻量型的TCP/IP实现,只需10几KB的RAM和40几KB的ROM就能够跑起来,适合应用于嵌入式设备的网络通信。有牛人Adam Dunkels发明,提供给用户上那种接口
RAW TCP/IP、Squential API, BSD API(也就是常说的socket编程),前者编程稍微复杂点,协议和应用程序在一个进程里面,但是效率高。中者首先要操作系统的支持,但是一旦实现了操作系统模拟层的实现,编程妥妥的。后者是为了符合人们使用socket编程的习惯而模拟的socket实现。所以王者乃RAW TCP/IP。网上提供了源码的下载,现在已经更新至1.4.x(doc 开发与移植指导文档, src 源码 test 测试例子),doc里面罗列了RAW TCP/IP的开发接口函数。
2、demo搭建:
服务器端:
0 open_t