PHP向socket服务器收发数据的方法


Posted in PHP onJanuary 24, 2015

本文实例讲述了PHP向socket服务器收发数据的方法。分享给大家供大家参考。具体如下:

在PHP要向其它程序发送数据,则需要使用到php的socket功能来实例了,下面我们简单看一个实例,代码如下:

/*socket收发数据 

    @host(string) socket服务器IP 

    @post(int) 端口 

    @str(string) 要发送的数据 

    @back 1|0 socket端是否有数据返回 

    返回true|false|服务端数据 

*/ 

function sendSocketMsg($host,$port,$str,$back=0){ 

        $socket = socket_create(AF_INET,SOCK_STREAM,0); 

        if ($socket < 0) return false; 

        $result = @socket_connect($socket,$host,$port); 

        if ($result == false)return false; 

        socket_write($socket,$str,strlen($str));
        if($back!=0){ 

            $input = socket_read($socket,1024); 

            socket_close ($socket);     

            return $input; 

        }else{ 

            socket_close ($socket);     

            return true;     

        }     

}

socker_read的第二个参数用以指定读入的字节数,你可以通过它来限制从客户端获取数据的大小.

sock函数介绍

函数名 描述
socket_accept() 接受一个Socket连接
socket_bind() 把socket绑定在一个IP地址和端口上
socket_clear_error() 清除socket的错误或者最后的错误代码
socket_close() 关闭一个socket资源
socket_connect() 开始一个socket连接
socket_create_listen() 在指定端口打开一个socket监听
socket_create_pair() 产生一对没有区别的socket到一个数组里
socket_create() 产生一个socket,相当于产生一个socket的数据结构
socket_get_option() 获取socket选项
socket_getpeername() 获取远程类似主机的ip地址
socket_getsockname() 获取本地socket的ip地址
socket_iovec_add() 添加一个新的向量到一个分散/聚合的数组
socket_iovec_alloc() 这个函数创建一个能够发送接收读写的iovec数据结构
socket_iovec_delete() 删除一个已经分配的iovec
socket_iovec_fetch() 返回指定的iovec资源的数据
socket_iovec_free() 释放一个iovec资源
socket_iovec_set() 设置iovec的数据新值
socket_last_error() 获取当前socket的最后错误代码
socket_listen() 监听由指定socket的所有连接
socket_read() 读取指定长度的数据
socket_readv() 读取从分散/聚合数组过来的数据
socket_recv() 从socket里结束数据到缓存
socket_recvfrom() 接受数据从指定的socket,如果没有指定则默认当前socket
socket_recvmsg() 从iovec里接受消息
socket_select() 多路选择
socket_send() 这个函数发送数据到已连接的socket
socket_sendmsg() 发送消息到socket
socket_sendto() 发送消息到指定地址的socket
socket_set_block() 在socket里设置为块模式
socket_set_nonblock() socket里设置为非块模式
socket_set_option() 设置socket选项
socket_shutdown() 这个函数允许你关闭读、写、或者指定的socket
socket_strerror() 返回指定错误号的详细错误
socket_write() 写数据到socket缓存
socket_writev() 写数据到分散/聚合数组

注意:socket_read函数会一直读取壳户端数据,直到遇见n,t或者字符,PHP脚本把这些字符看做是输入的结束符.

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
MYSQL数据库初学者使用指南
Nov 16 PHP
php 判断是否是中文/英文/数字示例代码
Sep 30 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
Sep 23 PHP
PHP读取汉字的点阵数据
Jun 22 PHP
php检测文本的编码
Jul 26 PHP
使用PHPCMS搭建wap手机网站
Sep 20 PHP
PHP实现伪静态方法汇总
Jan 13 PHP
非常经典的PHP文件上传类分享
May 15 PHP
PHP实现QQ快速登录的方法
Sep 28 PHP
php 三大特点:封装,继承,多态
Feb 19 PHP
PHP正则删除HTML代码中宽高样式的方法
Jun 12 PHP
swoole锁的机制代码实例讲解
Mar 04 PHP
php内存缓存实现方法
Jan 24 #PHP
php+xml编程之SimpleXML的应用实例
Jan 24 #PHP
php+xml编程之xpath的应用实例
Jan 24 #PHP
php+xml实现在线英文词典之添加词条的方法
Jan 23 #PHP
php+xml实现在线英文词典查询的方法
Jan 23 #PHP
通过php修改xml文档内容的方法
Jan 23 #PHP
通过php删除xml文档内容的方法
Jan 23 #PHP
You might like
用PHP生成html分页列表的代码
2007/03/18 PHP
php 大数据量及海量数据处理算法总结
2011/05/07 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
PHP会话控制实例分析
2016/12/24 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
JavaScript中的Screen屏幕对象
2008/01/16 Javascript
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
2013/05/15 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
js实现无缝循环滚动
2020/06/23 Javascript
JavaScript判断输入是否为数字类型的方法总结
2017/09/28 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
通过JS判断网页是否为手机打开
2020/10/28 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
[05:17]DOTA2誓师:今天我们在这里 明天TI4等我!
2014/03/26 DOTA
python中实现php的var_dump函数功能
2015/01/21 Python
Python正规则表达式学习指南
2016/08/02 Python
python编程实现归并排序
2017/04/14 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
adidas泰国官网:adidas TH
2020/07/11 全球购物
毕业自我鉴定范文
2013/11/06 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
县级文明单位申报材料
2014/05/23 职场文书
十周年庆典策划方案
2014/06/03 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
新闻通讯稿范文
2015/07/22 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS