ZLIP是一個專門為51單片機設計的(但不限于51單片機)專門的嵌入式TCP/IP協(xié)議棧。新一代ZLIP增值版V1.0主要特點有:
1. 原創(chuàng)性:ZLIP的所有代碼都由版權所有者設計實現(xiàn)。與基于開源代碼的軟件相比,它更具有清晰的結構和易于維護性,卓嵐公司也更具有專業(yè)的技術能力。
2. 優(yōu)化性:ZLIP專門針對51單片機進行了優(yōu)化。
(1) ZLIP具有適中的代碼兩和相對較快的運行速度。由于ZLIP一開始就是為51單片機設計,所以代碼量和速度一直是設計中考慮的重點。LWIP是一個著名的開源嵌入式TCP/IP,但是它是為16位/32位CPU設計,相對于51來說代碼量較大。
(2) ZLIP專門針對Keil C51編譯器進行了優(yōu)化。
a) 全部指針都為明確存儲類型的指針,以提高速度。
b) 對于可能被重入的函數(shù)聲明為reentant。
c) 根據(jù)程序的需要在內存消耗和速度之間取舍,以選擇為xdata類型還是data類型。
3. 易用性:
(3) 實現(xiàn)BSD socket的函數(shù)集:
a) ZLIP實現(xiàn)了BSD socket的socket, sendto, recvfro,
connect, bind, listen, accept, send, recv, closesocket, shutdown,
getpeername, getsockname, htonl, htons, ntohl, ntohs, inet_addr,inet_ntoa,ioctlsocket,setsockopt,
getsockopt,select共23個接口函數(shù)。支持阻塞(block)和非阻塞(nonblock)模式運行,支持LINGER方式的socketclose()等。
b) 統(tǒng)一的socket接口簡化了TCP/IP和應用層的交互。著名的uIP有很小的代碼量(選擇AVR為目標器件時,代碼為5K左右)和RAM使用量(100字節(jié)左右),但是uIP沒有和BSD
socket接口兼容,它采用不保存需要應答的數(shù)據(jù)包的RAM使用方案,當數(shù)據(jù)包丟失時,需要應用層負責重發(fā),應用層接口較復雜。
c) 統(tǒng)一的socket接口可以方便地將其它基于socket接口的開源程序移植到ZLIP上。
(4) 類MFC回調機制:MFC(Microsoft Foundation Class)CSocket的OnAccept、OnRecv、OnClose、OnConnect、OnRecvFrom回調機制能夠在TCP被連接、接收到數(shù)據(jù)、連接關閉、連接建立、UDP接收到數(shù)據(jù)情況下立即執(zhí)行回調函數(shù),使得編程非常方便。ZLIP實現(xiàn)全部5種回調機制。
4. 穩(wěn)定性:
(5) ZLIP從2003年至今經(jīng)過不斷完善,已經(jīng)是一個成熟的產(chǎn)品。
(6) 從2003開始,ZLIP在門禁系統(tǒng)、遠程采集儀器等產(chǎn)品中經(jīng)過實際檢驗。
(7) ZLIP增值版V1.0,經(jīng)過92個專門的測試程序,全面地測試了其穩(wěn)定性。
(8) 專門設計的校驗和程序檢驗了在大數(shù)據(jù)量(100MB)收發(fā)時收發(fā)數(shù)據(jù)的一致性。
5. 支持操作系統(tǒng):ZLIP增值版可以在無操作系統(tǒng)的平臺上或者有操作系統(tǒng)平臺上運行。ZLIP增值版1.0之前版本主要運行于非操作系統(tǒng)平臺上,增值版1.0增加了對uc/os-II的配合,真正實現(xiàn)了TCP/IP和OS在51單片機上的同時運行。
除此之外,基于ZLIP的ZLWeb提供了通過瀏覽器對設備進行控制和數(shù)據(jù)采集的接口;提供豐富的例子程序和詳細的用戶手冊;提供卓嵐公司的ZLIP調試工具SocketTestDlg程序和ZLFs文件系統(tǒng)構造程序ZLFsCreate。