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

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

本文列举了所有关于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中关于socket的系列函数总结
http://www.lai18.com/content/422553.html

时间: 2024-10-21 12:40:06

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

Cocos2d-x编程中CCRemoveSelf与CCCallFunc系列函数不能一起使用

可能是"头晕"了,我在编码中随意写出了如下代码:     CCLabelTTF* lbl=CCLabelTTF::create("Hi, you have succeeded in buying this Power-up!", "Arial", 32);     lbl->setColor(ccc3(255,0,0));     lbl->setPosition(VisibleRect::center());     ul2->

Linux中exec()执行文件系列函数的使用说明

函数原型: 描述:    exec()系列函数使用新的进程映像替换当前进程映像.    工作方式没有什么差别, 只是参数传递的方式不同罢了. 说明:    1. 这6个函数可分为两大类: execl()系列 和 execv()系列.    2. `l' 是指把所有传递给程序的参数依次列(list)出来.        `v' 是指把所有参数放到容器(数组, vector)中再一次性传入.         不论是list出来还是vector them all, 参数的最后一个都必须为空指针((ch

socket 由浅入深 系列函数(五)socket 阻塞 与 非阻塞

socket 阻塞 与 非阻塞 author:songyanwu 1 概念理解 其实在我们在进行网络编程,在理解阻塞与非阻塞同时,还应该清楚同步与异步! 同步与阻塞 同步和阻塞是不同的,可是有时候在理解有会很模糊: 同步:事情一件件的做,做完一件返回一件,做不完不回复也不返回. 阻塞;  阻塞调用是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行).函数只有在得到结果之后才会返回. 说明:同步和阻塞 在以后接触内核驱动 的时候会

socket 由浅入深 系列函数(二)

来源;MSDN 网络整理 主要介绍:CreateCompletionPort, socket.bind.listen.connect.accept.send.sendto.recv.recvfrom.close.shutdown 原理可看: CreateCompletionPort函数 1. 用于创建一个完成端口对象. 2. 将一个句柄同完成端口关联到一起. HANDLE CreateIoCompletionPort( HANDLE FileHandle, HANDLE ExistingComp

socket 由浅入深系列------ 原理(一)

来自:网络整理 个人觉得写一个网络应用程序没有是一件非常easy的事.其实,我们刚開始的时候总觉得的原则: 建立------>连接套接字------->接受一个连接---->发送数据 而真正复杂编写一个网络应用程序的规模从一个连接到成千上万的连接! 那么本系列将对sockt由浅入深的介绍. msdn The overlapped I/O mechanism in Win32? allows an application to initiate an operation and recei

R中的socket连接

在R中实现socket连接的函数是sockeConnection,在该函数中可以通过参数port设定端口号,参数server设为TRUE或FALSE来说明创建的是服务器端或客户端.在R中,通过启动两个进程,一个运行服务器端程序,一个运行客户端程序,就可实现socket连接了.代码如下: ## server i = 0 con1 = socketConnection(port=8888, server=TRUE) repeat{ i = i + 1 print(i) write.table(x=d

一起talk C栗子吧(第一百三十五回:C语言实例--exec系列函数一)

各位看官们,大家好,上一回中咱们说的是"创建线程时的内存细节"的例子,这一回咱们说的例子是:exec系列函数.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在前面介绍创建进程内存细节的章回中提到过exec系列函数,当时并没有做详细的介绍.今天我们将和大家一起看看exec系列函数. exec系列函数可以把某个进程导入到调用exec系列函数的进程中,并且把当前进程替换成一个新的进程,在前面的章回中我们也介绍了,执行exec系列函数会触发写时复制,因此新进程拥有自己的代码区

Winsock系列函数 及 Socket通信流程

Socket是一种网络通信机制 Winsock系列函数 1. Socket 创建socket 2. Connect 尝试连接远端Socket 3. Send 在某个Socket 向远端发送数据 4. Recv 接收远端数据 5. Closesocket 关闭连接 6. Listen 在某个Socket上建立监听 7. Accept 接收一条新的连接 (是接收连接而不是接收数据) 8. Bind 给一个Socket分配一个本地协议地址 9. Select 用于检测Socket状态,用于高级通信 1

Linux中backtrace()系列函数的应用实例

一.引言 backtrace()系列函数可用来输出代码出错时的函数调用关系. A backtrace is the series of currently active function calls for the program. #include <execinfo.h> int backtrace(void **buffer, int size); char **backtrace_symbols(void *const *buffer, int size); void backtrac