php socket编程 V客学院知识分享
来源:互联网 发布:js给div添加点击事件 编辑:程序博客网 时间:2024/05/17 23:17
php socket编程(V客学院知识分享)
Socket用于进程间通信。进程间通信通常基于客户端—服务端模型。此时,客户端—服务端是可以彼此交互的应用程序。客户端和服务端之间的交互需要连接。Socket编程负责的就是为应用程序之间建立可进行交互的连接。
下面主要讲解用PHP创建一个简单的客户端—服务端。我们还将学习如何客户端应用程序如何发送消息到服务端,以及如何从服务端接受消息。
第一部分:服务器
第一:设置变量,如“主机”和“端口”
$host = "127.0.0.1";
$port = 5353;
// No Timeout
set_time_limit(0);
注意:端口号可以是1024 -65535之间的任何正整数。
第二:创建socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
第三:绑定socket到端口和主机
$result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");
第四:启动socket监听
$result = socket_listen($socket, 3) or die("Could not set up socket listener\n");
第五:接受连接
$spawn = socket_accept($socket) or die("Could not accept incoming connection\n");
第六:从客户端socket读取消息
$input = socket_read($spawn, 1024) or die("Could not read input\n");
第七:反转消息
$output = strrev($input) . "\n";
第八:发送消息给客户端socket
socket_write($spawn, $output, strlen ($output)) or die("Could not write output\n");
第九:关闭socket
socket_close($spawn);
socket_close($socket);
第二部分:客户端
第一:设置变量,如“主机”和“端口”
$host = "127.0.0.1";
$port = 5353;
set_time_limit(0);
第二:创建socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
第三:连接到服务端
$result = socket_connect($socket, $host, $port) or die("Could not connect toserver\n");
第四:写入服务端socket
socket_write($socket, $message, strlen($message)) or die("Could not send data to server\n");
第五:阅读来自服务端的响应
$result = socket_read ($socket, 1024) or die("Could not read server response\n");
echo "Reply From Server :".$result;
第六:关闭socket
socket_close($socket);
总结:在socket编程的过程中,主要按照服务端,客户端的程序格式执行,简单容易上手。
(PHP开发、web前端、UI设计、VR开发专业培训机构-v客IT学院版权所有,转载请注明出处,谢谢合作!)
- php socket编程 V客学院知识分享
- PHP curl 之操作实例(V客学院知识分享)
- Php-mysql中的子查询(V客学院知识分享)
- Php-mysql的触发器(V客学院知识分享)
- php-DOM部分基础知识总结与实例(V客学院知识分享)
- Php-mysql的触发器之实例篇(V客学院知识分享)
- 初试Vuforia开发AR(V客学院知识分享)
- VR资讯——局势明朗下的前景展望(V客学院知识分享)
- Unity 地形编辑器详解(V客学院技术分享)
- Unity使用Cardboard、MojingSDK等VR插件的3DUI(UGUI)凝视效果的实现(V客学院知识分享)
- 走过最长的路是你的套路(PS调色-V客学院技术分享)
- VR开发——Unity动画系统(V客it学院技术分享)
- VR开发——Unity动画系统2(V客it学院技术分享)
- 极客学院视频分享
- SOCKET编程小知识
- 极客学院Android视频分享
- 【分享】极客学院视频教程下载
- 最新 Struts2 视频分享|极客学院
- Eclipse安装教程 ——史上最详细安装java & python教程说明
- linux系统下运行NS2的脚本文件(.tcl文件)
- js清除浏览器缓存的几种方法(项目总结)
- Uri权限问题&&FileProvider学习
- 百度地图 label添加点击事件,显示提示信息
- php socket编程 V客学院知识分享
- 画流程图
- 淘宝JAVA中间件Diamond详解(2)---原理介绍
- 智能音箱对比:Google,Amazon,Apple,讯飞
- java 基础理解
- 差分约束——洛谷 P1645 序列
- KPI之痛:有哪些奇葩的技术人员考核方式?
- vue.js开发环境安装教程
- 数据结构(临时)