php fsockopen socket,PHP利用socket(fsockopen)的简单示例
这篇文章主要为大家详细介绍了PHP利用socket(fsockopen)的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧!fsockopen函数能够运用,首先要开启php.ini中的allow_url_open=on;
fsockopen是对socket客户端代码的封装,该函数中封装了socket_create,socket_connect。
服务器端代码:server.php
代码如下:
/* 512笔记 www.512Pic.com */
error_reporting(E_ALL);
set_time_limit(0);
$address = '127.0.0.1';
$port = 10008;
//创建端口
if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
echo "socket_create() failed:reason:" . socket_strerror(socket_last_error()) . "\n";
}
//绑定
if (socket_bind($sock, $address, $port) === false) {
echo "socket_bind() failed :reason:" . socket_strerror(socket_last_error($sock)) . "\n";
}
//监听
if (socket_listen($sock, 5) === false) {
echo "socket_bind() failed :reason:" . socket_strerror(socket_last_error($sock)) . "\n";
}
while (true) {
//得到一个链接
if (($msgsock = socket_accept($sock)) === false) {
echo "socket_accepty() failed :reason:".socket_strerror(socket_last_error($sock)) . "\n";
break;
}
//welcome 发送到客户端
$msg = "1.server send:welcome
";
socket_write($msgsock, $msg, strlen($msg)); //返回信息给客户端
echo 'read client message\n';
$buf = socket_read($msgsock, 8192); //获取客户端发送过来的信息
$talkback = "2.received message:$buf\n";
echo $talkback;
if (false === socket_write($msgsock, $talkback, strlen($talkback))) { //返回信息给客户端
echo "socket_write() failed reason:" . socket_strerror(socket_last_error($sock)) ."\n";
} else {
echo 'send success';
}
socket_close($msgsock);
}
socket_close($sock);
客户端代码:fsocket.php
代码如下:
/* 512笔记 www.512Pic.com */
$fp = fsockopen("127.0.0.1", 10008, &$errno, &$errstr, 10);
if (!$fp) {
echo $errstr . " (". $errno . ")
n";
} else {
$in = "HEAD / http/1.1\r\n";
$in .= "HOST: localhost \r\n";
$in .= "Connection: close\r\n\r\n";
fputs($fp, $in);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
注:关于PHP利用socket(fsockopen)的简单示例的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。
关键词:socket
php fsockopen socket,PHP利用socket(fsockopen)的简单示例相关推荐
- php fsockopen 传参,利用PHP fsockopen 模拟POST/GET传送数据的方法
使用php可以模拟post和get传送数据到别的网页或者是站点,那么怎么传送数据呢?下面由小编给大家介绍利用PHP fsockopen 模拟POST/GET传送数据的方法,需要的朋友 使用php可以模 ...
- 使用java利用163邮箱发送邮件简单示例
此文章只是基础代码,需要自己深层次的封装,适用于初次开发工作者 1代码 private static final String from="";//163邮件的账号 pri ...
- 自己动手写简单的web应用服务器(4)—利用socket实现文件的下载
直接上源码: 服务器: 1 package download; 2 3 import java.io.BufferedInputStream; 4 import java.io.BufferedOut ...
- android socket 简易聊天室 java服务器_利用Socket制作一个简易的Android聊天室
首先制作一个客户端,界面如下: 使用方法:启动后,首先在登录编辑框输入一个昵称,然后点击登录,上面灰色区域是聊天窗,其中会显示你的登录提示,显示其他人发的消息.在的登录成功后,可以在下面的发送编辑框内 ...
- 老雷socket编程之PHP利用socket扩展实现聊天服务
老雷socket编程之PHP利用socket扩展实现聊天服务 socket聊天服务原理 PHP有两个socket的扩展 sockets和streams sockets socket_create(AF ...
- Java中利用socket实现简单的服务端与客户端的通信(中级)——实现任意双向通信
本文计划采用socket实现客户端和服务端的任意双向通信,即客户端可以随时给服务端发消息,服务端也可以随时给客户端发消息,最终结果就是一个类似与QQ的聊天软件的功能. 以下代码可以直接拷贝到Eclip ...
- Java中利用socket实现简单的服务端与客户端的通信(基础级)
在上一篇文章中,简单的介绍了java中入门级的socket编程,简单的实现了客户端像服务器端发送数据,服务器端将数据接收并显示在控制台,没有涉及多线程.上一篇文章的链接:Java中利用socket实现 ...
- Java中利用socket实现简单的服务端与客户端的通信(入门级)
Java编程中,要想要使用网络通信,就离不开Socket编程,在此对socket进行简单的介绍.首先声明,这是一个入门级的介绍,仅仅简单的实现了客户端向服务端发送数据,服务端正常的接收数据,当接收到特 ...
- python简单的监控脚本-利用socket、psutil阻止远程主机运行特定程序
psutil是一个跨平台的库(http://code.google.com/p/psutil/),能够轻松的实现获取系统运行的进程和系统利用率(CPU.内存.磁盘.网络等)信息.它主要应用于系统监控, ...
最新文章
- 《Fabric 云存储的电子健康病历系统》(1)系统介绍
- 中篇 | 多轮对话机器之话题意图识别
- 去除 position:fixed 抖动的方法
- [转][探讨]为什么说JavaScript是性价比最高的技术?
- 《Scikit-Learn与TensorFlow机器学习实用指南》第7章 集成学习和随机森林
- 宁畅定制算力为冰雪训练插上智慧翅膀
- 【PyQt5 知识点示例代码】布局、菜单、信号与槽、对话框、组件
- mysql5.6.25及以上下载衔接
- js 语音识别_js语音识别_js 语音识别库 - 云+社区 - 腾讯云
- 高清银行LOGO图片整合分享
- 项目管理第四章项目整合管理
- 软件测试人员需不需要懂代码
- Android 打开应用商店评分
- 注册免费域名教程(怎样免费注册域名)手把手教注册域名
- js 时间格式化转换
- AtCoder Beginner Contest 171 D - Replacing
- 向上滚动 终端_终端 - 如何在Linux控制台上向上/向下滚动?
- JavaScript两个实用的图片懒加载优化方法
- 资源整理 IC/FPGA
- 从画家到黑客:成功在于特立独行,不在于随波逐流
热门文章
- How to get list of all public urls which are using BSP UI technology
- How is assignment blocks of overview pages read from configuration
- Eclipse里不同的project,右键选择属性property facet里看到的list 内容是否相同
- SAP WebClient UI view controller所有可用的属性列表
- 给nodejs应用的package.json添加Redis服务的依赖
- SAP CRM WebClient UI上分销渠道点击展开按钮后执行了哪些逻辑
- 通过一个实际例子理解Kubernetes里pod的自动scale - 水平自动伸缩
- Jerry的ABAP, Java和JavaScript乱炖
- 频域分析方法的理解(信号、频谱、能量谱、功率谱、倒频谱、小波分析)(终极教程)
- python加密解密库openssl_OpenSSL和Python实现RSA Key公钥加密私钥解密