孤酒读雨—个人网站

swoole下tcp的简单介绍(学swoole的第一阶段)

作者: Fred

swoole是一个强大框架,在我第一次接触到现在一直这样觉得


它是基于c语言去写的框架,让php支持网络编程、tcp、udp、http应用等。


下面是我学swoole的一个记录


首先,贴上代码,一个tcp_server.php的一个文件

可能第一次接触的人会看不懂代码,但是可以去官方文档中找到上面这些代码,

地址:https://wiki.swoole.com/#/

我们的set方法主要用以设置进程数量这些

然后在监听连接和数据接收事件中,不同的是第一个参数的使用,connect和receive,还有接收事件中的$data主要就是接收传过来的内容

最后我们再去关闭事件

然后再启动服务

这就是tcp_server的详细代码介绍


然后去到tcp_client.php文件

这是客户端的一个详细代码,我们同样可以在官方文档中看到

我们先是连接127.0.0.1,swoole所处的端口是9501,跟服务端的代码差不多

然后我们可以使用fwrite和fgets去输入和获取信息,然后里面的参数STDOUT和STDIN就是代码输入和输出的

然后再使用send方法去发送数据至服务端

然后我们客户端也可以使用recv方法获取数据

大致就这样,下面是具体的一个操作

是在linux下操作的


在这提一下,如果我们在linux中执行服务端代码的时候报错,进程如果被占用,我们可以使用如下代码去查看

netstat -anp|grep 9501

然后在使用kill去关闭进程


首先我们应该进入到服务器到根目录下,然后使用php命令执行当前服务器文件

然后,我们可以再打开一个连接,再去执行我们的客户端文件

这时候我们再去服务端看一下

这时候已经出现了一个客户端连接了,并且显示了信息

这时候我们在客户端输入一个999,来看一下效果

客户端已经接收到服务端返回的信息了,这就证明我们已经通信成功了,然后再看一下服务端的信息

服务端接收到了客户端的999,并且客户端已经关闭了

至此,演示结束了

这就是swoole其中的tcp编程,接下来还有udp和http等等,

还得继续学习呀。

程序员,加油