下面几段代码测试了很长时间才整理出来,一方面是我对tcp和udp的认识还不够,另一方面不得不吐槽一下,
网上的参考资料为什么就没有一个把tcp和udp在php下使用的代码段和重要区别总结一下的呢?
1、对于udp,使用socket_recvfrom和socket_sendto,
因为无状态,不需要socket_connect和socket_listen,创建时使用SOCK_DGRAM和SOL_UDP两个参数
2、对于tcp,使用socket_read和socket_write,因为有状态,
需要socket_connect和socket_listen,创建时使用SOCK_STREAM和SOL_TCP两个参数,
还可以设置阻塞模式socket_set_block
3、运行这样的脚本时,需要特别注意最好不要在浏览器上,因为有30s限制,
直接在命令行下用php指令运行脚本,参数为php文件名,提前是已经配置php环境变量,
否则找到php目录下的php.exe,然后在命令行下调用php.exe,执行php脚本文件。
ps:最后给一张截图: