• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 用PHP实现的服务端socket具体实例

用PHP实现的服务端socket具体实例

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了PHP实现,服务端socket,具体实例等相关知识,希望对您有所帮助

这篇文章主要介绍了用PHP实现的服务端socket具体实例,有对这方面不懂的同学可以参考下

实现方法如下:

使用到的相关函数: socket_create、socket_set_block、socket_bind、socket_listen、socket_accept、socket_read、socket_write,这些函数具体参数说明在PHP文档上写很详细,这里就不再赘述,这里只是介绍服务端如何处理请求。

具体实例:

//确保在连接客户端时不会超时set_time_limit(0);//设置IP和端口号$address = "127.0.0.1";$port = 54321;$socketServer = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("socket_create() fail:" . socket_strerror(socket_last_error()) . "/n");//设置为阻塞模式socket_set_block($socketServer) or die("socket_set_block() fail:" . socket_strerror(socket_last_error()) . "/n");//绑定端口$result = socket_bind($socketServer, $address, $port) or die("socket_bind() fail:" . socket_strerror(socket_last_error()) . "/n");//开始监听$result = socket_listen($socketServer, 4) or die("socket_listen() fail:" . socket_strerror(socket_last_error()) . "/n"); do {    //接收连接请求并返回一个子Socket来处理客户端和服务器间的信息    $sock = socket_accept($socketServer) or die("socket_accept() failed: reason: " . socket_strerror(socket_last_error()) . "/n");    while($sock){        //读取客户端数据        echo "Read client data \n";             $length = socket_read($sock, 4);        $length = unpack('i', $length);        echo "length:$length[1] \n";             $request = socket_read($sock, $length[1]);        echo "$request:$request \n";                  //数据传送 向客户端写入返回结果        $msg = "this is response message \n";        $msgLength = strlen($msg);        $msgLength = pack('i', $msgLength);        socket_write($sock, $msgLength);        socket_write($sock, $msg, strlen($msg)) or die("socket_write() failed: reason: " . socket_strerror(socket_last_error()) ."/n");        break;    } } while (true);socket_close($socketServer);

总结:

在接收到客户端的请求后,可以结合PHP的多线程进行处理,这里只是简单的返回字符串。 各大语言实现socket通信的方式都是大同小异,在服务端的流程都是差不多的。在有现成高性能socket通信框架的情况下,建议不要自己去实现,但是得理解框架底层是怎样实现的。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 用PHP实现的服务端socket具体实例
  • PHP高清晰度无损图片压缩功能的实现代码
  • PHP实现搜索联想功能(基于字典树算法)
  • 教你用PHP实现微信小程序人脸识别刷脸登录功能

相关文章

  • 2022-04-29原生小程序如何封装请求,优雅地调用接口?
  • 2022-04-29微信小程序选择图片和放大预览图片功能
  • 2022-04-29PS制作炫彩新年快乐艺术文字效果的教程
  • 2022-04-29PHP采集插件QueryList实践教学
  • 2022-04-29深入浅析Bootstrap中的自动定位浮标
  • 2022-04-29一定要收藏的5个后台管理系统的前端框架
  • 2022-04-29Photoshop制作超酷的3D岩石字体教程
  • 2022-04-29DedeCMSV5.6版自动采集功能规则使用基本知识详细讲
  • 2022-04-29Photoshop创建电影品质DVD封面
  • 2022-04-29设置一个无需输入密码的WordPress登录表单

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 如何在Laravel应用中集成使用Emoji表情
    • PHP过滤HTML标签代码方法
    • Photoshop制作超酷的木纹立体字教程
    • Photoshop简单的绘制逼真的小汽车教程
    • Photoshop打造超酷的火焰汽车
    • 你可能要纠正这5个PHP编码小陋习!
    • Photoshop制作液化效果的火焰艺术字教程
    • 3大事项网站推广人员必须注意
    • Node.js excel转json
    • php怎么使用setcookie()设置cookie永不过期

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有