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 相关文章推荐
多重?l件?合查?(二)
Oct 09 PHP
一个没有MYSQL数据库支持的简易留言本的编写
Oct 09 PHP
php面向对象全攻略 (二) 实例化对象 使用对象成员
Sep 30 PHP
php date()日期时间函数详解
May 16 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
Apr 24 PHP
php制作动态随机验证码
Feb 12 PHP
PHP实现查询两个数组中不同元素的方法
Feb 23 PHP
yii通过小物件生成view的方法
Oct 08 PHP
laravel 5.4中实现无限级分类的方法示例
Jul 27 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 PHP
PHP执行系统命令函数实例讲解
Mar 03 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 方便水印和缩略图的图形类
2009/05/21 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
PHP explode()函数用法讲解
2019/02/15 PHP
PHP实现对数字分隔加千分号的方法
2019/03/18 PHP
js实现幻灯片播放图片示例代码
2013/11/07 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
2017/04/17 jQuery
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
Python Sleep休眠函数使用简单实例
2015/02/02 Python
python3 打开外部程序及关闭的示例
2018/11/06 Python
python和c语言哪个更适合初学者
2020/06/22 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
2020/07/09 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
2021/03/03 Python
Python如何实现单例模式
2016/06/03 面试题
《特殊的葬礼》教学反思
2014/04/27 职场文书
档案工作汇报材料
2014/08/21 职场文书
基层党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
2014年文明创建工作总结
2014/11/25 职场文书
平安家庭事迹材料
2014/12/20 职场文书
商务邀请函
2015/01/30 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
拿破仑传读书笔记
2015/07/01 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
话题作文之成长
2019/12/09 职场文书
React forwardRef的使用方法及注意点
2021/06/13 Javascript
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python