flash php socket通信_php socket通信机制实例说明

本文介绍了PHP中Socket通信的基本概念和工作原理,将其比喻为电话客服业务单元,详细展示了服务器端(server.php)和用户端(client.php)的代码实现,通过创建、连接、读写操作展示了如何进行数据交换。通过示例代码,读者可以了解如何在PHP中建立和使用Socket进行网络通信。
摘要由CSDN通过智能技术生成

php socket通信机制实例说明与代码----什么是socket 所谓socket一般也称作"套接字",用于描述ip地址和端口,是一个通讯链的句柄。使用程序一般经过"套接字"向network发出请求也许应对network请求。说白了就是一种通讯机制。它类似于银行,电信啊这一些部分的电话客服业务单元。您打电话的时候,那边会调设置一个人回答您的问题,客服业务单元就相当于socket的服务器端了,您这边呢就相当于用户端了,在和您通话完结前,假设有人在想找和您通话的那个谈话是不可能的,由于您在和他通讯,当然客服业务单元的电话更换机也不会重复调配。

下面我将举例子来说明一下,socket是怎样工作的。假设您是基于使用层开发的人员并不一定要理解原理,然而能晓得那是更好了。网络有对于socket的php api。下下来用就行了。

socket服务器server.php // 构建server端socket

$tcp = getprotobyname("tcp");

$socket = socket_create(af_inet, sock_stream, $tcp);

socket_bind($socket, '127.0.0.1', 10008); //绑定要监听的端口

socket_listen($socket); //监听端口

//初始化一个DATA,和用户端通讯

$buffer = "connect";

while (true) { // 接受一个socket联接

$connection = socket_accept($socket);

if(!$connection){

echo "connect fail";

}else{

echo "socket connectedn"; // 向用户端传送一个信息DATA

if ($buffer != "") {

echo "send data to clientn";

socket_write($connection, $buffer . "n");

echo "wrote to socketn";

} else {

echo "no data in the buffern" ;

} // 从用户端获得信息

while ($data = @socket_read($connection, 1024, php_normal_read)) {

printf("buffer: " . $data . "n"); //获得信息给用户端一个反响

socket_write($connection, "information receivedn");

}

}

socket_close($connection); //封锁 socket

printf("closed the socketn");

}

?>

另外注意,socket用户端client.php

// 构建用户端的socet联接

$socket = socket_create(af_inet, sock_stream, sol_tcp);

$connection = socket_connect($socket, '127.0.0.1', 10008); //联接服务器端socket

while ($buffer = @socket_read($socket, 1024, php_normal_read)) { //服务端告诉用户端,自身的形态

if (preg_match("/not connect/",$buffer)) {

echo "don`t connectn";

break;

} else { //服务器传来信息

echo "buffer data: " . $buffer . "n";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值