`
aideehorn
  • 浏览: 261358 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个PHP Socket类

    博客分类:
  • php
阅读更多

写的一个PHP Socket类,功能还比较简单,不完善.

<? php
/** */ /** *
     * @project:socket类
     * @license:GPL
     * 
@author : 8th@live.cn-星期八
     * @description:PHP Socket协议异步通信
     * @file:socket.class.php
     * @created date:Fri Apr 25 12:22:33 CST 2008
     * @last modified :
     **
*/

class  sockets
{
    
public  $host; // 通信地址
     public  $port; // 通信端口
     public  $limitTime = 0 ; // 连接超时时间
     public  $backlog = 3 ; // 请求队列中允许的最大请求数
     private  $socket = null ;
    
private  $result = null ;
    
private  $spawn = null ;
    
private  $input = null ;
    
// 构造函数
     public  function __construct()
    
{
        set_time_limit($
this -> limitTime);
        $
this -> socket  =  socket_create(AF_INET, SOCK_STREAM,  0 ) or die( " Could not create socket\n " );
    }

    
// 创建Socket连接,监听外部连接
     public  function socket_bind_listen()
    
{
        $
this -> result  =  socket_bind($ this -> socket, $ this -> host, $ this -> port) or die( " Could not bind to socket\n " );
        $
this -> result  =  socket_listen($ this -> socket, $ this -> backlog) or die( " Could not set up socket listener\n " );
    }

    
// 接受请求连接,调用socket处理信息
     public  function accept_client()
    
{
        $
this -> spawn  =  socket_accept($ this -> socket) or die( " Could not accept incoming connection\n " );
        $msg 
=   " Welcome to the Test Server " ;
        socket_write($
this -> spawn, $msg, strlen($msg));
    }

    
//  读取客户端输入 
     public  function read_client()
    
{
        $
this -> input  =  socket_read($ this -> spawn,  2048 , PHP_NORMAL_READ) or die( " Could not read input\n " ); 
    }

    
//  处理客户端输入并返回数据 
     public  function write_client()
    
{
        socket_write($
this -> spawn, $ this -> input, strlen ($ this -> input)) or die( " Could not write output\n " );
    }

    
// 析构函数
     public  function __destruct()
    
{
        socket_close($
this -> spawn); 
        socket_close($
this -> socket); 
    }

}

/** */ /** *
$socket_test=new sockets();
$socket_test->host="192.168.0.2";
$socket_test->port="13654";
$socket_test->socket_bind_listen();
$socket_test->accept_client();
$socket_test->read_client();
$socket_test->write_client();
     **
*/

?>
分享到:
评论

相关推荐

    php socket聊天室

    本项目“php socket聊天室”显然旨在利用PHP的Socket功能创建一个实时的在线聊天平台,使得用户可以通过Web浏览器进行实时交互。下面将详细讨论PHP Socket、聊天室的实现原理以及如何通过cmd运行`start_for_win.bat`...

    PHP socket 构造POST与GET

    PHP提供了一个名为`Socket`的类,可以更方便地操作Socket。通过创建Socket对象,我们可以使用对象的方法来完成连接、读写等操作,例如: ```php $socket = new Socket(AF_INET, SOCK_STREAM, SOL_TCP); $socket-&gt;...

    一个简单的PHP封装的socket的client端的类

    一个简单的PHP封装的socket的client端的类 可以完成简单的和server端的通信,包括接收和发送数据 可以根据需要完善其来对要发送的数据进行过滤 其他功能还有: 返回所有错误信息 返回最后一次错误信息 返回获取最后...

    php_socket基础编程

    - **Socket 的创建**:在 PHP 中,可以使用 `socket_create()` 函数来创建一个 Socket。 ##### 创建 Socket - **函数调用**: ```php $socket = socket_create(AF_INET, SOCK_STREAM, getprotobyname("tcp")); ...

    php socket简单实现源码

    通过以上步骤,你就可以使用PHP构建一个基本的Socket通信程序了。然而,实际项目中可能会涉及更复杂的功能,如并发连接、心跳检测、SSL/TLS加密等,这些都需要进一步的学习和实践。记得在开发过程中,要确保代码的...

    用php的socket跟flash的socket通信

    - **创建 Socket**:使用 `Socket` 类实例化一个 Socket 对象。 - **连接 Socket**:使用 `connect` 方法进行连接。 - **读取数据**:使用事件监听器监听 `DATA` 事件来接收数据。 - **写入数据**:使用 `...

    php5 实现socket 通信

    - `socket_accept($socket)` 接受客户端的连接请求,并返回一个新的 Socket 连接句柄 `$connection`。 2. **发送数据:** ```php if ($buffer != "") { socket_write($connection, $buffer . "\r\n"); } else...

    php socket编程实例详解

    本文将通过一个具体的Server和Client通信实例来详细解析PHP中的Socket编程。 ### 1. 基础概念 Socket是操作系统提供的一个接口,用于在网络环境中实现进程间通信(IPC)。在TCP/IP协议栈中,Socket用于在不同主机...

    PHP的Socket通信

    Socket并不是一个程序也不是一种协议,而是一组由操作系统提供的抽象API,用于简化网络通信的复杂性。 #### Socket的作用 Socket作为一种通信机制,它的作用主要体现在以下几个方面: 1. **抽象化**:Socket将...

    用php实现socket

    创建一个简单的PHP Socket Server: ```php $serverSocket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_bind($serverSocket, '127.0.0.1', 12345); socket_listen($serverSocket); while (true)...

    socket-php文件分段上传

    在PHP中,我们可以使用`socket_create`函数创建一个Socket,然后通过`socket_connect`连接到服务器端的Socket。 在文件分段上传的场景下,客户端(通常是用户浏览器)会先选择要上传的文件,然后利用HTML5的File ...

    php socket 邮件发送类

    "php socket邮件发送类"是这样一个工具,它通过SMTP协议与邮件服务器建立连接,从而实现邮件的发送。 SMTP(Simple Mail Transfer Protocol)是互联网上用于传输电子邮件的标准协议。HTML电子邮件则是一种包含HTML...

    PHP版SOCKET模拟提交POST消息(源码)

    在PHP中,我们可以使用`socket_create()`函数创建一个SOCKET连接,然后通过`socket_connect()`与指定的服务器建立连接。在POST请求中,我们需要向服务器发送带有数据的HTTP头和数据体。 POST请求的构建通常包括以下...

    PHP和SOCKET

    下面是一个简单的PHP Socket服务器端示例代码,用于接收客户端的连接请求并与其进行通信。 ```php &lt;?php // 获取协议常量 $commonProtocol = getprotobyname('tcp'); // 创建Socket $socket = socket_create(AF_...

    运行php socket

    下面是一个简单的PHP Socket服务器端示例: ```php &lt;?php $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { echo "Failed to create socket: " . socket_strerror(socket_last_...

    php的socket发送post请求示例

    本文将深入探讨如何使用PHP的Socket功能来发送POST请求,并提供一个具体的示例。 首先,理解POST请求的基本概念至关重要。POST是HTTP协议中的一个方法,用于向服务器提交数据,通常用于创建新的资源。当我们需要...

    php socket client class

    php socket client class 能多次发送信息, 有异常处理。

    delphi socket call php socket 例子

    socket_write ( $newsock , "这是一个delphi(客户端) socket 与 PHP_socket(服务器) 通信的例子 测试,交流QQ:410578660。 but ill make an exception :)\n" . "There are " .( count ( $clients ) - 1 ). " ...

    php.rar_php_php socket_php.rar

    可能是一个帮助文档,包含了PHP的官方手册或教程,覆盖了PHP的语法、函数、扩展等各个方面,是学习PHP的重要参考。"www.pudn.com.txt"可能是从PUDN网站下载资料的记录,PUDN是一个知名的IT资源共享平台,提供各种...

    简单的php —— socket 编程

    在PHP中,我们可以使用`socket_create()`函数创建一个socket,然后使用`socket_connect()`来连接到指定的服务器。 以下是一些关于PHP socket编程的关键知识点: 1. **创建socket**: 使用`socket_create()`函数...

Global site tag (gtag.js) - Google Analytics