4000-520-616
欢迎来到免疫在线!(蚂蚁淘生物旗下平台)  请登录 |  免费注册 |  询价篮
主营:原厂直采,平行进口,授权代理(蚂蚁淘为您服务)
咨询热线电话
4000-520-616
当前位置: 首页 > 新闻动态 >
新闻详情
linux运维架构--PHP开发-零基础学习PHP视频教程
来自 : www.lampol-blog.com/detail/aid 发布时间:2021-03-25
网络中是如何通信数据传输?


ip+端口+协议

实现网络进程之间的通信,几乎所有的应用程序都是采用socket,“一切皆socket”。


HTTP TCP SOCKET 区别


Http协议:对应于应用层。Http协议是基于TCP链接的。
tcp协议:对应于传输层
ip协议: 对应与网络层

TCP/IP是传输层协议,主要解决数据如何在网络中传输;而Http是应用层协议,主要解决如何包装数据。

Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。

Http连接:http连接就是所谓的短连接,及客户端向服务器发送一次请求,服务器端相应后连接即会断掉。

socket连接:socket连接及时所谓的长连接,理论上客户端和服务端一旦建立连接,则不会主动断掉;但是由于各种环境因素可能会是连接断开,比如说:服务器端或客户端主机down了,网络故障,或者两者之间长时间没有数据传输,网络防火墙可能会断开该链接已释放网络资源。所以当一个socket连接中没有数据的传输,那么为了位置连续的连接需要发送心跳消息,具体心跳消息格式是开发者自己定义的。

什么是socket?


Socket的英文原义是“孔”或“插座”,通常也称作 套接字 ,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。


Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

\"socket2.jpg\"/


socket连接的3个步骤

(1)服务器监听:ip+端口号

(2)客户端请求:发出向 服务器 的 ip以及端口连接请求

(3)连接确认:是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。

\"socket3.jpg\"/


PHP之socket的安装准备


linux系统

编译PHP时必须在配置中添加--enable-sockets 配置项来启用。

可以使用 lnmp一键安装包:https://github.com/lampol

windows (不推荐使用,这里不介绍)


socket的简单的demo演示


server.php

$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);socket_bind($socket, 0.0.0.0 ,6666);socket_listen($socket);$sock=socket_accept($socket);$res=socket_read($sock,2048);echo$res;socket_write($sock, helloclient’);


client.php

$socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);socket_connect($socket, 127.0.0.1 ,6666);$msg= hllloserver socket_write($socket,$msg);$res=socket_read($socket,2048);echo$res;


首先运行: php server.php


\"1.jpg\"/

\"2.jpg\"/


然后 在运行 php client.php


\"3.jpg\"/

\"4.jpg\"/

socket常用函数的介绍


官方文档:http://php.net/manual/zh/book.sockets.php


//创建一个套接字(通讯节点)resourcesocket_create(int$domain,int$type,int$protocol)

本文链接: http://bkmresource.immuno-online.com/view-757961.html

发布于 : 2021-03-25 阅读(0)
公司介绍
联络我们
服务热线:4000-520-616
(限工作日9:00-18:00)
QQ :1570468124
手机:18915418616