php使用socket简单实现通信功能
发布:smiling 来源: PHP粉丝网 添加日期:2023-06-27 13:05:40 浏览: 评论:0
socket只不过是一个数据结构。使用这个socket数据结构去开始一个客户端和服务器之间的会话,服务器是一直在监听准备产生一个新的会话,当一个客户端连接服务器,它就打开服务器正在进行监听的一个端口进行会话。
WebSocket的作用
WebSock其实在平常使用,我们是时常见到的,用于实时通讯,例如我们常用的实时聊天、服务端向客户端消息推送、也可以实现踢用户下线功能,实时弹幕功能等等。
什么是握手
为了创建Websocket连接,需要通过浏览器发出请求,之后服务器进行回应,这个过程通常称为“握手”(handshaking)。
这是比较正式的理解,在接下来使用方式中会在介绍到握手的实际含义。
背景介绍
目标:我希望通过套接字的TCP传输来搭建一个服务器,这个服务器的作用是:接受多个客户端的连接并完成他们的相互通信。比如客户端A,客户端B同时连接到服务器S,客户端A向服务器S发送消息,服务器S会将A的消息转发给B,同理,B的消息也可以通过S被转发到A。这样就实现了客户端A和客户端B之间的相互通信。
本次我们只实现客户端与服务器之间连接并通信,暂时没有写服务器的转发功能。
IP和PORT
服务端需要有一个IP,TCP通信时,还需要提供一个端口号。
客服端需要有一个IP,TCP通信时,也需要提供一个端口号。
服务端就是负责接收客户端的信息
客户端代码
- $PORT = 12345; //与server端口匹配
- //创建socket/参数1:代表IPV4/参数2:流传输/参数3:TCP/
- $client = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
- //向指定地址/端口发出连接请求,连接结果返回到resule/127.0.0.1指本地IP
- $result = socket_connect($client, "127.0.0.1", $PORT);
- //这里我们简单的对连接结果进行响应/为了Debug方便
- if($result == false){
- echo "ERROR CONNECT\n";
- die();
- } else {
- echo "CONNECTED\n";
- }
- //建立将要发送的消息
- $data = "linrux Hello World\n";
- //将消息发送出去
- socket_write($client, $data);
- //关闭socket
- socket_close($client);
服务端代码
- //进入死循环,一直接收客户端发送信息
- while(true){
- //创建socket/参数解释同客服端
- $server = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
- //绑定端口和IP/0.0.0.0表示允许任意地址发起连接/12345表示允许12345端口号进行连接
- socket_bind($server, "0.0.0.0", 12345);
- //进入监听
- socket_listen($server);
- //接收请求并建立连接
- $connection = socket_accept($server);
- //接收数据
- $data = socket_read($connection, 1024);
- echo $data;
- }
- //关闭socket
- #socket_close($server);
客户端发送信息
服务端接收消息
Tags: socket php通信功能
- 上一篇:SQL注入宽字节注入由浅到深学习
- 下一篇:最后一页
相关文章
- ·php socket讲解与实例(2013-12-09)
- ·PHP socket模拟POST请求实例(2014-01-18)
- ·php socket 使用smtp服务器发送邮件(2014-01-22)
- ·php中socket实现GET与POST异步提交数据(2014-06-16)
- ·php socket客户端和服务端互相通讯实例(2014-06-19)
- ·PHP中向socket服务器收发数据(2014-08-28)
- ·PHP利用socket模拟post之fsockopen发送数据(2014-09-05)
- ·php Socket 创建 监听等实例(2014-09-09)
- ·php socket通信机制实例说明与代码(2014-09-09)
- ·PHP不支持socket_connect函数开启步骤(2014-09-10)
- ·php基于Socket实现多线程开发教程(2015-04-15)
- ·PHP聊天室_WebSocket技术实战(2016-08-25)
- ·php中socket服务的模型下的编程方式(同步和异步)(2018-09-18)
- ·php socket服务的模型以及实现 多进程IO复用libevent(2018-09-18)
- ·php实现socket推送技术的示例(2018-11-04)
- ·php与flash as3 socket通信传送文件实现代码(2021-03-31)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)