本文主要介绍了PHP基于socket实现的简单客户端和服务端通讯功能,可实现服务端接收客户端发送的字符串进行翻转操作后返回客户端的功能,需要的朋友可以参考下
服务端:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<?php
set_time_limit(0);
$host = "localhost" ;
$port =1001;
//创建一个连接
$socket =socket_create(AF_INET,SOCK_STREAM,SOL_TCP) or die ( "cannot create socket\\n" );
//绑定socket到端口
$result =socket_bind( $socket , $host , $port ) or die ( "cannot bind port to socket\\n" );
//开始监听这个端口
$result =socket_listen( $socket ,4) or die ( "could not set up socket listen\\n" );
//接受连接,另一个socket来处理通信
$msgsock =socket_accept( $socket ) or die ( "cannot accept incoming connection\\n" );
if ( $msgsock ){
echo date ( "Y-m-d H:i:s D a" );
}
//读取客户端发送过来的信息
$input =socket_read( $msgsock ,1024) or die ( "cannot read input\\n" );
$input =trim( $input );
$output = strrev ( $input ). "顺序反过来了吧\\n" ;
//对接收到的信息进行处理,然后返回到客户端
socket_write( $msgsock , $output , strlen ( $output )) or die ( "cannot write" );
//关闭socket连接
socket_close( $msgsock );
socket_close( $socket );
?>
|
客户端:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php
set_time_limit(0);
$host = "localhost" ;
$port =1001;
//创建一个socket
$socket =socket_create(AF_INET,SOCK_STREAM,SOL_TCP) or die ( "cannot create socket\\n" );
$conn =socket_connect( $socket , $host , $port ) or die ( "cannot connect server\\n" );
if ( $conn ){ echo "client connect ok!" ;}
socket_write( $socket , "hello world!" ) or die ( "cannot write data\\n" );
$buffer =socket_read( $socket ,1024,PHP_NORMAL_READ);
if ( $buffer ){
echo "response was:" . $buffer . "\\n" ;
}
socket_close( $socket );
?>
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。
相关文章
猜你喜欢
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-06-04 48
-
Mybatis集成Spring的实例代码_动力节点Java 学院整理
2025-05-29 66 -
2025-06-04 105
-
2025-05-29 70
-
使用360免费建站时遇到问题如何解决以确保赚钱计划顺利进行?
2025-06-04 29
热门评论