PHP向socket服务器收发数据的⽅法本⽂实例讲述了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到⼀个数组⾥
recv函数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程序设计有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论