找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1748|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 05:49:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文实例讲述了PHP向socket服务器收发数据的方法。分享给大家供大家参考。具体如下:
在PHP要向其它程序发送数据,则需要使用到php的socket功能来实例了,下面我们简单看一个实例,代码如下:
[U]复制代码[/U] 代码如下:/*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
        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获取远程图片的两种 CURL方式和sockets方式获取远程图片
  • php与java通过socket通信的实现代码
  • php socket客户端及服务器端应用实例
  • php与flash as3 socket通信传送文件实现代码
  • php中socket通信机制实例详解
  • php中Socket创建与监听实现方法
  • PHP的Socket通信之UDP通信实例
  • php+html5基于websocket实现聊天室的方法
  • php socket通信(tcp/udp)实例分析
  • 用PHP的socket实现客户端到服务端的通信实例详解
  • PHP Socket网络操作类定义与用法示例
  • php实现与python进行socket通信的方法示例
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端