前些天,我们Term做java的(其实整个Term里就我一个做php的)说要把整个项目全部使用java来实现、和现在的分离。我就问了下你们分离后,都会使用到些什么技术来替代php目前做的事情,然后就给我说了几个,....socket....,soket是什么?我问道,就回答说¥%&*&GUGGH%¥##%…………¥,反正也没听懂,顿时感觉自己好OUT,感觉像丢了自己的人一样,so回来研究了一下,看看socket到底是何方妖孽!!!!!
先来看看socket原理,下图就是传说中的三次握手,具体3个红箭头代表的状态
具体实现代码网上一大堆我就不班门弄斧了,我就说说我在整个过程中遇到的和如何解决的吧。
1、我的运行环境,centos虚拟机,php版本5.4.7(满足socket对php的版本要求)
2、需要打开你监听的端口,如端口123456,在iptables里加条【-A INPUT -m state --state NEW -m tcp -p tcp --dport 12345 -j ACCEPT】
3、在网上下载了份可运行的代码(找的好辛苦 最后非常感谢这篇文章的博主ttp://www.jnecw.com/p/1523?utm_source=tuicool&utm_medium=referral)
4、运行结合三次握手的原理,和运行的代码日志终于对socket有了个明白的理解了。
(虽然看起来很简单,我还真的花了好几天在这上面,到目前都还不能算结束,因为我还打算针对一个具体场景,自己去用socket实现,最好再来个压力测试。)
(写这个的目的,希望对看文章的你有所帮助。还想写点什么,但也不知道说什么了。希望以后有机会运用到实际项目里。 )