ncat 代碼最爛,沒有之一,玩去不是能夠穩(wěn)定使用的東東.
最近需要寫個SSL的客戶端,偷懶直接使用ncat+腳本來實現.越做越發(fā)現,ncat其爛無比.這里是說其代碼簡直是一塌糊涂.建議各位不要使用, 對的,不要使用.
程序退出沒有錯誤代碼
一般商用化的程序或者代碼都會提供豐富的錯誤退出代碼或者各種原因碼. 看看人家curl,通過原因碼可以方便的知道問題在哪里.
ncat 對于錯誤只有一個原因碼,那就是1.唉,只能說,您這個是實際使用的東東嗎.
exit到處飛
嘗試從源代碼上根據不同的錯誤原因讓其返回不同的原因碼,從代碼中發(fā)現,根本是不可能的.
ncat_connect.c: exit(1);
ncat_connect.c: exit(2);
ncat_connect.c: exit(1);
ncat_connect.c: exit(1);
ncat_connect.c: exit(1);
ncat_connect.c: exit(1);
ncat_connect.c: exit(1);
ncat_connect.c: exit(1);
也是服了寫這個代碼的哥們,簡直是隨心所欲啊,讓exit 隨意飛....
內存泄漏/Socket沒關/Fd沒處理...
用Valgrind 做了一下最簡單的內存泄漏分析.簡直慘不忍讀.ncat連接 www.baidu.com 什么都不做退出. Valgrind給的報告要跑好多屏才能報告完.
想想也是,到處exit能有保護不泄漏才怪.