PHP Socket 编程之9个主要函数的使用之测试案例

Posted wanglijun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Socket 编程之9个主要函数的使用之测试案例相关的知识,希望对你有一定的参考价值。

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 — 关闭套接字资源

 

 

以上是关于PHP Socket 编程之9个主要函数的使用之测试案例的主要内容,如果未能解决你的问题,请参考以下文章

Socket编程 之使用fsockopen()函数

Socket网络编程之概述理解

Python网络编程之socket应用

Java开发之Socket编程详解

VC++ socket编程中设置socket选项的ioctlsocketsetsockopt和WSAIoctl函数的使用(附源码)

Python 之 网络编程——SOCKET开发