php的socket编程算是比较难以理解的东西吧,不过,我们只要理解socket几个函数之间的关系,以及它们所扮演的角色,那么理解起来应该不是很难了,在笔者看来,socket编程,其实就是建立一个网络服务的客户端和服务端,这和mysql的客户端和服务端是一样的,你只要理解mysql的客户端和服务端是怎么一回事,你就应该能够理解下面我要讲的东西吧。
关于socket编程所涉及到的网络协议,什么TCP啊,UDP啊,什么socket三次握手等等,这些网络协议网上有很详细的解释,这里不讲,只截个socket建立套接的过程图让你瞧瞧:
socket是怎么建立连接的呢?上面已经提到过了,它建立连接的过程是与mysql的客户端和服务端的连接本质是一样的。而它与mysql不同的是,mysql的服务端和客户端都已经为我们编辑好了,我们只要应用就行了。但是,关键时刻来啦,socket它什么东西都没有提供给我们,唯一提供给我们的就是:几十个socket函数。
参考Socket根据官方文档:http://php.net/manual/zh/book.sockets.php
PHP Socket 编程之8个主要函数分别是:
- socket_create — 创建一个套接字(通讯节点)作用:创建一个socket套接字,说白了,就是一个网络数据流。返回值:一个套接字,或者是false,参数错误发出E_WARNING警告socket_create创建并返回一个套接字,也称作一个通讯节点。一个典型的网络连接由2个套接字构成,一个运行在客户端,另一个运行在服务器端。
- socket_bind — 给套接字绑定名字
- socket_connect — 开启一个套接字连接 返回true 或false
- socket_listen —监听一个套接字,返回值为true或者false
- socket_accept — 接收套接字的资源信息,成功返回套接字的信息资源,失败为false
- socket_read — 作用:读取套接字的资源信息,返回值:成功把套接字的资源转化为字符串信息,失败为false
- socket_send — 发送数据
- socket_write — 作用:把数据写入套接字中 返回值:成功返回字符串的字节长度,失败为false
- socket_close — 关闭套接字资源
原文地址:https://www.cnblogs.com/wanglijun/p/8819526.html
时间: 2024-11-05 13:28:34