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 相关文章推荐
我的论坛源代码(七)
Oct 09 PHP
PHP 数组教程 定义数组
Oct 23 PHP
PHP5.4中json_encode中文转码的变化小结
Jan 30 PHP
比较简单的百度网盘文件直链PHP代码
Mar 24 PHP
Smarty保留变量用法分析
May 23 PHP
php的socket编程详解
Nov 20 PHP
PHP编程 SSO详细介绍及简单实例
Jan 13 PHP
php 浮点数比较方法详解
May 05 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
Apr 10 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
Oct 24 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
Zerg基本策略
2020/03/14 星际争霸
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
php实现在线生成条形码示例分享(条形码生成器)
2013/12/30 PHP
php函数式编程简单示例
2019/08/08 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
PHP实现文件上传与下载
2020/08/28 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
百度留言本js 大家可以参考下
2009/10/13 Javascript
js实现网页随机切换背景图片的方法
2014/11/01 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
安装vue-cli的简易过程
2018/05/22 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
2018/08/30 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
python实现log日志的示例代码
2018/04/28 Python
Python实现微信小程序支付功能
2019/07/25 Python
python实现简单坦克大战
2020/03/27 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
毕业生自荐信
2013/12/14 职场文书
二手房买卖协议书
2014/04/10 职场文书
医院竞聘演讲稿
2014/05/16 职场文书
商务经理岗位职责
2014/08/03 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书
基于Python实现将列表数据生成折线图
2022/03/23 Python