【socket】用PHP的socket实现客户端到服务端的通信

php实现的websocket客户端 php实现的websocket客户端,不是服务器哦,可以在php代码中与websocket服务器进行简单的通信。通信完成后随着php请求完成关闭连接。经过改造可以实现长连接。测试连接swoole 1.7的websocket服务器没有任何问题。 立即下载
[php]  view plain  copy
 print ?
  1. <?php  
  2. error_reporting(E_ALL);  
  3. set_time_limit(0);  
  4. ob_implicit_flush();  
  5. //本地IP  
  6. $address = 'localhost';  
  7. //设置用111端口进行通信  
  8. $port = 111;  
  9. //创建SOCKET  
  10. if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) {  
  11.         echo "socket创建失败原因 " . socket_strerror($sock) . "\n";  
  12. }  
  13.   
  14. if (($ret = socket_bind($sock, $address, $port)) < 0) {  
  15.         echo "创建套接字失败原因 " . socket_strerror($ret) . "\n";  
  16. }  
  17. //监听  
  18. if (($ret = socket_listen($sock, 5)) < 0) {  
  19.         echo "监听失败原因 " . socket_strerror($ret) . "\n";  
  20. }  
  21. do {  
  22.     //接收命令   
  23.     if (($msgsock = @socket_accept($sock)) < 0) {  
  24.         echo "命令接收失败原因: " . socket_strerror($msgsock) . "\n";  
  25.         break;  
  26.     }  
  27.     $msg = "\nPHP Test Server. \n" ."用quit,shutdown,sun...等命令测试.\n";  
  28.   
  29.     @socket_write($msgsock, $msg, strlen($msg));  
  30.   
  31.     do {  
  32.         if (false === ($buf = @socket_read($msgsock, 2048, PHP_NORMAL_READ))) {  
  33.                 echo "socket_read() failed: reason: " . socket_strerror($ret) . "\n";  
  34.                 break 2;  
  35.         }  
  36.         if (!$buf = trim($buf)) {  
  37.                 continue;  
  38.         }  
  39.         if ($buf == 'quit') {  
  40.                 break;  
  41.         }  
  42.         if ($buf == 'shutdown') {  
  43.                 socket_close($msgsock);  
  44.                 break 2;  
  45.         }  
  46.         if ($buf == 'sun') {  
  47.                 echo'what are you doing?';  
  48.         }  
  49.         $talkback = "Backinformation : '$buf'.\n";  
  50.         socket_write($msgsock, $talkback, strlen($talkback));  
  51.         echo "$buf\n";  
  52.     } while (true);  
  53.   
  54.     socket_close($msgsock);  
  55.   
  56. } while (true);  
  57.   
  58. socket_close($sock);  
  59. ?>  

二、client.php客户端:

[php]  view plain  copy
 print ?
  1. <?php  
  2. error_reporting(E_ALL);  
  3. //端口111  
  4. $service_port = 111;  
  5. //本地  
  6. $address = 'localhost';  
  7. //创建 TCP/IP socket  
  8. $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);  
  9. if ($socket < 0) {  
  10.         echo "socket创建失败原因: " . socket_strerror($socket) . "\n";  
  11. } else {  
  12.         echo "OK,HE HE.\n";  
  13. }  
  14. $result = socket_connect($socket, $address, $service_port);  
  15. if ($result < 0) {  
  16.         echo "SOCKET连接失败原因: ($result) " . socket_strerror($result) . "\n";  
  17. } else {  
  18.         echo "OK.\n";  
  19. }  
  20. //发送命令  
  21. $in = "HEAD / HTTP/1.1\r\n";  
  22. $in .= "Connection: Close\r\n\r\n";  
  23. $out = '';  
  24. echo "Send Command..........";  
  25. $in = "sun\n";  
  26. socket_write($socket, $in, strlen($in));  
  27. echo "OK.\n";  
  28. echo "Reading Backinformatin:\n\n";  
  29. while ($out = socket_read($socket, 2048)) {  
  30.         echo $out;  
  31. }  
  32. echo "Close socket........";  
  33. socket_close($socket);  
  34. echo "OK,He He.\n\n";  
  35. ?>  

这两段代码是简单介绍用PHP实现客户端和服务端的通信
client.php
server.php
具体操作,在DOS下用PHP命令打开SERVER,处于监听状态..
再打开一个DOS窗口,用PHP命令打开CLIENT,会得到服务端的回应....
PHP Websocket 客户端 用PHP编写的websocket客户端,不是服务端哦,是用php来访问websocket服务器来用的。 立即下载

相关推荐

专有钉钉小程序(浙政钉)开发搭建流程总览

最近公司有一个项目要做浙政钉,让我来负责做。靠,我一脸懵,开发了两年多不知道浙政钉是啥,感觉我眼界还是低了。然后就去百度、同事问了一圈才知道就是个钉钉小程序嘛,然后发布到浙政钉上了。就搭建项目跑起来我都肥了很多事,中间走了很多坑。正好领导让我写《钉钉小程序前端开发流程》,这想着也写个博客吧。下面就是整个流程及我所遇到的坑!

m0_53910290的博客 6355

php客户端与客户端交互,room server,signaling server 和客户端之间的交互

一、App版本(iOS为例)单方向连接:1.界面app已设定好,输入房间号后,点击join按钮。[NSURLConnection sendAsynchronousRequest:requestqueue:[NSOperationQueue mainQueue]completionHandler:^(NSURLResponse *response,NSData *data,NSError *erro...

weixin_35672512的博客 589

中标麒麟,postgres报错invalid value for parameter "timeZone":"Asia/Beijing"

在中标麒麟服务器上,安装postgres,启动tomcat容器时,报invalid value for parameter "timeZone":"Asia/Beijing"。 查看postgres运行日志,也报同样的错误。 报错原因:服务器的时区,在Postgres支持的时区目录中找不到。当时在服务器上信息为Beijing 解决步骤: 1. cat /etc/sysconfig/cloc

u010213931的博客 7924

php 实现socket 客户端,PHP简单实现客户端和服务端Socket通信

本篇文章将给大家介绍PHP简单实现客户端和服务端Socket通信的过程本文用到的socket方法。socket服务端实现代码server.php/*** Created by PhpStorm.* User: jmsite.cn* Date: 2019/2/20* Time: 11:59*/set_time_limit(0);$host = '127.0.0.1';$port = 8081;$so...

weixin_39704727的博客 415

Elsevier投稿别再踩坑了!手把手教你搞定LaTeX模板和所有附件(附避坑清单)

本文详细解析Elsevier投稿全流程中的关键环节,特别是LaTeX模板的使用和系统提交的常见问题。从必备文件准备到LaTeX模板适配,再到投稿系统操作指南,提供全面的避坑清单和实用技巧,帮助科研工作者高效完成投稿,避免因格式错误或文件遗漏导致的退稿风险。

weixin_30915275的博客 551

从零到一:3D Slicer与MONAI在医学影像中的AI革命

本文探讨了3D Slicer与MONAI在医学影像分析中的革命性应用,展示了如何通过开源工具实现高效的三维影像处理和AI增强分析。结合临床案例,详细介绍了从数据准备到AI分析的全流程,显著提升诊断效率和精度,推动医学影像技术迈向新纪元。

tcp8optimizer的博客 340

php服务socket调用,php使用socket调用http和smtp协议实例小结

本文实例讲述了php使用socket调用http和smtp协议。分享给大家供大家参考,具体如下:socket发送HTTP请求http协议请求报文格式get## 请求方法 请求文件路径?查询字符串 HTTP/协议版本号## Host: 主机名:端口号## Connection:closepost## 请求方法 请求文件路径 HTTP/协议版本号## Host: 主机名:端口号## Content-t...

weixin_32123093的博客 593

机器人学(三):手眼标定

主要讲了eye-to-hand的手眼标定求解算法,包括AX=XB和AX=YB两种情况,包含SVD法、Tsai-Lenz法、最小二乘法等,从原理到解法再到算法代码实现,包括matlab代码、C++代码、库的使用等,简单明了,容易在实际项目中进行应用

行者无疆的博客 2554

易语言和php通讯tcp,用PHP的socket实现客户端到服务端的通信实例详解

一、server.php服务端:error_reporting(E_ALL);set_time_limit(0);ob_implicit_flush();//本地IP$address = 'localhost';//设置用111端口进行通信$port = 111;//创建SOCKETif (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP))...

weixin_31765677的博客 1834

深度学习技巧应用26-CNN中多种注意力机制的嵌入方法,终于搞懂注意力机制了

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用26-CNN中多种注意力机制的嵌入方法,终于搞懂注意力机制了。CNN是一种能够有效处理图像和其他二维数据的深度学习模型。在传统的CNN中,每个卷积核都会对输入的所有位置进行相同的操作,这可能导致网络无法针对特定区域或特征进行更加关注和重点处理。 注意力机制被引入卷积神经网络中,旨在使网络能够自动地学习和聚焦于输入中的重要区域或特征。通过引入注意力机制,可以增强网络对不同区域或特征的关注度,提取更有意义和相关的特征,从而提高模型的性能和表达能力。

微学AI的博客 3312

新手友好!C#上位机调用YOLO实现设备异常检测(详细步骤,附踩坑指南)

C#上位机调用YOLO实现设备异常检测,核心是把“工控交互”和“AI检测”的优势结合起来,新手不用追求一步到位,先跑通基础流程,再逐步优化性能和功能。我当初也是从踩坑中过来的,只要把核心链路和细节摸透,其实门槛并没有想象中高。如果你们在实操中遇到了具体问题(比如相机取流卡顿、模型推理报错),可以在评论区留言,后续我也可以针对性拆解具体模块的完整代码。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 663

socket服务端和客户端_用PHP的socket实现客户端到服务端的通信实例详解(仅学习)...

一、server.php服务端:<?php error_reporting(E_ALL); set_time_limit(0); ob_implicit_flush(); //本地IP $address = 'localhost'; //设置用111端口进行通信 $port = 111; //创建SOCKET if (($sock = socket_create(AF_INET, SOCK_...

weixin_32501329的博客 300

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

用PHP的socket实现客户端到服务端的通信

服务端 <?php error_reporting(E_ALL); set_time_limit(0); ob_implicit_flush(); //本地IP $address = 'localhost'; //设置用111端口进行通信 $port = 111; //创建SOCKET if (($sock = socket_create(AF_INET, SOCK_...

weixin_30454481的博客 78

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

java 向指定socket客户端发送信息_PHP实现客户端和服务端Socket通信

点击蓝字关注我们!每天获取最新的编程小知识!源 /php中文网 源 /www.php.cn本篇文章将给大家介绍PHP简单实现客户端和服务端Socket通信的过程本文用到的socket方法。socket服务端实现代码server.php/*** Created by PhpStorm.* User: jmsite.cn* Date: 2019/2/20* Time: ...

weixin_39611937的博客 211

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

php socket通信用途,PHP Socket通信示例

下面代码演示PHP Socket通信示例,使用PHP Socket通信需要实现服务端和客户端两边代码的实现。首先,看看服务端PHP Socket代码://确保在连接客户端时不会超时set_time_limit(0);$ip = '127.0.0.1';$port = 1935;/*+-------------------------------* @socket通信整个过程+-----------...

weixin_30026297的博客 122

php服务端与android客户端socket通信

[size=large][color=red] php写的服务端和java写的android客户端通过socket通信[/color][/size] php服务端的代码要在类似apache的服务器中运行,代码如下: [code="php"] [/code] android客户端在同一台机器上的模拟器中运行,代码如下: [code="...

花开冬季 484

失败 php_PHP实现客户端和服务端Socket通信

点击蓝字关注我们!每天获取最新的编程小知识!源 /php中文网 源 /www.php.cn本篇文章将给大家介绍PHP简单实现客户端和服务端Socket通信的过程本文用到的socket方法。socket服务端实现代码server.php/*** Created by PhpStorm.* User: jmsite.cn* Date: 2019/2/20* Time: ...

weixin_39799561的博客 78

php ios推送failed to connect: 0_用PHP的socket实现客户端到服务端的通信实例详解(仅学习)...

一、server.php服务端:<?php error_reporting(E_ALL); set_time_limit(0); ob_implicit_flush(); //本地IP $address = 'localhost'; //设置用111端口进行通信 $port = 111; //创建SOCKET if (($sock = socket_create(AF_INET, SOCK_...

weixin_39860201的博客 120
上一篇: PHP实现socket
下一篇: 【socket】深入浅出讲解:php的socket通信
Professorphp
博客等级 码龄10年 4粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值