還記得我在很久很久以前和大家推薦的Fiddler和Charles debugger么?他們都是HTTP的神器級調試工具,非常非常的好用。好工具能讓你事半功倍,基本上,我是屬于徹頭徹尾的工具控。
假如有一天,你寫(xiě)“傳統”的PHP有些累了,想玩玩socket了,搞搞python、NodeJS、GO之類(lèi)的新興語(yǔ)言或框架(當然我不是說(shuō)這些語(yǔ)言不能寫(xiě)web),或者干脆就用PHP吧,事實(shí)上PHP5.4的性能提高的真是相當之多,用PHP 的socket函數就能簡(jiǎn)單的寫(xiě)一個(gè)web socket服務(wù)器 (代碼在評論里)了,甚至有個(gè)很不錯的PHP框架—— swoole,他和其他的大多數常見(jiàn)的框架都不同,因為他不依賴(lài)http服務(wù)器!號稱(chēng)高級開(kāi)發(fā)框架,“目標是向Java框架、Rails On Ruby、Python Django Pylons等一流框架發(fā)起挑戰”的一種以socket方式運行的PHP框架。還有一個(gè)叫nanoserv,……我說(shuō)這么多就是為了證明PHP也能玩好socket的,所以socket以及TCP、UDP都是平易近人的。
說(shuō)工具
1、wireshark
這個(gè)工具是抓包的神器,我不知道有沒(méi)有在以前的文章里提及,總之,他是好評如潮,誰(shuí)用誰(shuí)知道,我就不班門(mén)弄斧的多做蹩腳的介紹了,只說(shuō)一點(diǎn),他會(huì )自作聰明的按照端口號來(lái)解碼協(xié)議,有的時(shí)候被他弄的一塌糊涂,此時(shí)選擇不解碼任何協(xié)議即可。
2、sokit
國人寫(xiě)的一個(gè)TCP、UDP socket調試輔助工具,非常的好用,基于QT框架,所以在linux和windows下都能用,他能很方便的組裝二進(jìn)制數據包,很方面的模擬分包、粘包。有客戶(hù)端、服務(wù)器、轉發(fā)器三種模式,轉發(fā)器實(shí)際上就是一個(gè)透明代理,原理和Fidder類(lèi)似,所以可以輕量級的進(jìn)行抓包,當然不能斷點(diǎn)調試的啦。
用這個(gè)玩意發(fā)現一個(gè)小bug,就是在發(fā)二進(jìn)制包的時(shí)候[00,88] ,就這個(gè)中括號后面多了一個(gè)空格,也會(huì )被發(fā)出去,有一次我在這里栽了跟頭,當然在日志中仔細查看能夠看到完整的發(fā)出的包(這個(gè)故事告訴我們,日志很重要)
3、TCP/IP Builder
這個(gè)是我早期使用的一個(gè)工具,現在有了sokit,基本不使用他了,這個(gè)東東的特點(diǎn)是體積小
4、TCP/UDP Socket調試工具 2.3
相比之下,這個(gè)工具就沒(méi)有什么特點(diǎn)了,嗯是的,甚至沒(méi)有官方主頁(yè)(工具界面上還帶了點(diǎn)小廣告),也推薦一下了,如果你覺(jué)得適合你的口味的話(huà),至少我用了他一段時(shí)間的
5、TCPView
也是Windows下的神器,主要是查看當前的TCP連接、UDP連接狀態(tài),也可以斷開(kāi)正在傳輸數據的連接。她除了平時(shí)測試、調試TCP等用到,有的時(shí)候還能發(fā)現一些莫名奇妙的連接,那么就該查查你的系統了。
6、一些自己寫(xiě)的小腳本、小工具,就不獻丑了,何況這些每個(gè)人都能自己寫(xiě)。
就是這些了,如果你有牛逼的神器收藏,歡迎與我交流
原文轉自:http://blogread.cn/it/article/6365