php中关于socket的系列函数总结


Posted in PHP onMay 18, 2015

本文列举了所有关于PHP语言中使用socket相关服务的一些函数。注意使用如下函数之前,你需要确保你的socket已打开,如果你没有打开,请编辑你的php.ini文件,去掉下面这行前面的注释(分号):

extension=php_sockets.dll

如果你无法去掉注释,那么请使用下面的代码来加载扩展库:
<?php

if(!extension_loaded('sockets')){

 if(strtoupper(substr(PHP_OS,3))=="WIN"){

  dl('php_sockets.dll');

 }else{

  dl('sockets.so');

 }

}

如果你不知道你的socket是否打开,那么你可以使用phpinfo()函数来确定socket是否打开。你通过查看phpinfo信息了解socket是否打开。

php socket 相关函数如下:

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()    写数据到分散/聚合数组
PHP 相关文章推荐
PHP+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
php中设置多级目录session的问题
Aug 08 PHP
PHP数组无限分级数据的层级化处理代码
Dec 29 PHP
PHP中session变量的销毁
Feb 27 PHP
php ajax实现文件上传进度条
Mar 29 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
php使用自定义函数实现汉字分割替换功能示例
Jan 30 PHP
PHP实现判断数组是一维、二维或几维的方法
Feb 06 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
Yii框架实现多数据库配置和操作的方法
May 25 PHP
PHP中number_format()函数的用法讲解
Apr 08 PHP
Laravel框架集合用法实例浅析
May 14 PHP
php简单socket服务器客户端代码实例
May 18 #PHP
php实现粘贴截图并完成上传功能
May 17 #PHP
php获取json数据所有的节点路径
May 17 #PHP
php中memcache 基本操作实例
May 17 #PHP
PHP实现过滤各种HTML标签
May 17 #PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 #PHP
php 批量查询搜狗sogou代码分享
May 17 #PHP
You might like
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
js字符串的各种格式的转换 ToString,Format
2011/08/08 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
去掉gridPanel表头全选框的小例子
2013/07/18 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
百度地图给map添加右键菜单(判断是否为marker)
2016/03/04 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
记React connect的几种写法(小结)
2018/09/18 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
用python做游戏的细节详解
2019/06/25 Python
浅析python,PyCharm,Anaconda三者之间的关系
2019/11/27 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
python3中for循环踩过的坑记录
2020/12/14 Python
selenium自动化测试入门实战
2020/12/21 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
详解Html5原生拖拽操作
2018/01/12 HTML / CSS
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
《美丽的小路》教学反思
2014/02/26 职场文书
二手房购房意向书范本
2014/04/01 职场文书
公司离职证明范本(汇总)
2014/09/10 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
大学生暑期社会实践证明范本
2014/10/24 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书
vue实现锚点定位功能
2021/06/29 Vue.js
SpringBoot集成Redis的思路详解
2021/10/16 Redis
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL