TCP服務(wù)器與客戶端模塊
其實(shí)大四就用到了TCP的傳輸,以實(shí)現(xiàn)讀卡器功能。
但產(chǎn)品列表中,其實(shí)有一項(xiàng)是非常依賴于TCP傳輸?shù)模褪茿AAS音游窩計(jì)費(fèi)系統(tǒng)

今天把TCP傳輸功能做成了一個(gè)模塊,以后就可以簡(jiǎn)單調(diào)用實(shí)現(xiàn)此功能。

模塊的封裝非常簡(jiǎn)單易用,只需要以下兩個(gè)函數(shù)即可實(shí)現(xiàn)
Init 初始化,填入模式(服務(wù)器或客戶端),端口號(hào),超時(shí)刪除時(shí)間 3個(gè)參數(shù)即可。
While 循環(huán)執(zhí)行,將GET和SEND的list丟進(jìn)去就可以了,后續(xù)只需對(duì)這兩個(gè)list進(jìn)行操作。
檢查是否有數(shù)據(jù),就只需判斷GET的list大小是否大于0(或者使用是否為empty函數(shù)),如果有數(shù)據(jù),對(duì)GET里的每項(xiàng)數(shù)據(jù)加以判斷即可。
如果要發(fā)送數(shù)據(jù),只需要將數(shù)據(jù)填入一個(gè)通用的TCPDATA結(jié)構(gòu)體,然后丟入SEND list即可。


這個(gè)模塊寫入了封包解包功能,可以確保數(shù)據(jù)不串包,而且如果出現(xiàn)數(shù)據(jù)丟失,會(huì)自動(dòng)將錯(cuò)誤包忽略,不會(huì)將錯(cuò)誤的數(shù)據(jù)放在GETlist里面。

今日笑點(diǎn):
我原本想把Data內(nèi)容打印在控制臺(tái)上,結(jié)果我這是寫了個(gè)什么(x
