还记得我在好久好久之前和你们推荐的Fiddler和Charles debugger么?他们都是HTTP的神器级调试工具,很是很是的好用。好工具能让你事半功倍,基本上,我是属于彻头彻尾的工具控。
假若有一天,你写“传统”的PHP有些累了,想玩玩socket了,搞搞python、NodeJS、GO之类的新兴语言或框架(固然我不是说这些语言不能写web),或者干脆就用PHP吧,事实上PHP5.4的性能提升的真是至关之多,用PHP 的socket函数就能简单的写一个web socket服务器 (代码在评论里)了,甚至有个很不错的PHP框架—— swoole,他和其余的大多数常见的框架都不一样,由于他不依赖http服务器!号称高级开发框架,“目标是向Java框架、Rails On Ruby、Python Django Pylons等一流框架发起挑战”的一种以socket方式运行的PHP框架。还有一个叫nanoserv,……我说这么多就是为了证实PHP也能玩好socket的,因此socket以及TCP、UDP都是平易近人的。php
说工具
一、wireshark
这个工具是抓包的神器,我不知道有没有在之前的文章里说起,总之,他是好评如潮,谁用谁知道,我就不班门弄斧的多作蹩脚的介绍了,只说一点,他会自做聪明的按照端口号来解码协议,有的时候被他弄的一塌糊涂,此时选择不解码任何协议便可。
二、sokitweb 超赞
国人写的一个TCP、UDP socket调试辅助工具,很是的好用,基于QT框架,因此在linux和windows下都能用,他能很方便的组装二进制数据包,很方面的模拟分包、粘包。有客户端、服务器、转发器三种模式,转发器实际上就是一个透明代理,原理和Fidder相似,因此能够轻量级的进行抓包,固然不能断点调试的啦。windows
用这个玩意发现一个小bug,就是在发二进制包的时候[00,88] ,就这个中括号后面多了一个空格,也会被发出去,有一次我在这里栽了跟头,固然在日志中仔细查看可以看到完整的发出的包(这个故事告诉咱们,日志很重要)服务器
三、TCP/IP Builderwebsocket
这个是我早期使用的一个工具,如今有了sokit,基本不使用他了,这个东东的特色是体积小swoole
四、TCP/UDP Socket调试工具 2.3框架
相比之下,这个工具就没有什么特色了,嗯是的,甚至没有官方主页(工具界面上还带了点小广告),也推荐一下了,若是你以为适合你的口味的话,至少我用了他一段时间的socket
五、TCPView
也是Windows下的神器,主要是查看当前的TCP链接、UDP链接状态,也能够断开正在传输数据的链接。她除了平时测试、调试TCP等用到,有的时候还能发现一些莫名奇妙的链接,那么就该查查你的系统了。
还有的别比如:
- tcpdump
- ngrep
- Microsoft Network Monitor
- Microsoft Research TCP Analyzer