写的一个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功能创建一个实时的在线聊天平台,使得用户可以通过Web浏览器进行实时交互。下面将详细讨论PHP Socket、聊天室的实现原理以及如何通过cmd运行`start_for_win.bat`...
PHP提供了一个名为`Socket`的类,可以更方便地操作Socket。通过创建Socket对象,我们可以使用对象的方法来完成连接、读写等操作,例如: ```php $socket = new Socket(AF_INET, SOCK_STREAM, SOL_TCP); $socket->...
一个简单的PHP封装的socket的client端的类 可以完成简单的和server端的通信,包括接收和发送数据 可以根据需要完善其来对要发送的数据进行过滤 其他功能还有: 返回所有错误信息 返回最后一次错误信息 返回获取最后...
- **Socket 的创建**:在 PHP 中,可以使用 `socket_create()` 函数来创建一个 Socket。 ##### 创建 Socket - **函数调用**: ```php $socket = socket_create(AF_INET, SOCK_STREAM, getprotobyname("tcp")); ...
通过以上步骤,你就可以使用PHP构建一个基本的Socket通信程序了。然而,实际项目中可能会涉及更复杂的功能,如并发连接、心跳检测、SSL/TLS加密等,这些都需要进一步的学习和实践。记得在开发过程中,要确保代码的...
- **创建 Socket**:使用 `Socket` 类实例化一个 Socket 对象。 - **连接 Socket**:使用 `connect` 方法进行连接。 - **读取数据**:使用事件监听器监听 `DATA` 事件来接收数据。 - **写入数据**:使用 `...
- `socket_accept($socket)` 接受客户端的连接请求,并返回一个新的 Socket 连接句柄 `$connection`。 2. **发送数据:** ```php if ($buffer != "") { socket_write($connection, $buffer . "\r\n"); } else...
本文将通过一个具体的Server和Client通信实例来详细解析PHP中的Socket编程。 ### 1. 基础概念 Socket是操作系统提供的一个接口,用于在网络环境中实现进程间通信(IPC)。在TCP/IP协议栈中,Socket用于在不同主机...
Socket并不是一个程序也不是一种协议,而是一组由操作系统提供的抽象API,用于简化网络通信的复杂性。 #### Socket的作用 Socket作为一种通信机制,它的作用主要体现在以下几个方面: 1. **抽象化**: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)...
在PHP中,我们可以使用`socket_create`函数创建一个Socket,然后通过`socket_connect`连接到服务器端的Socket。 在文件分段上传的场景下,客户端(通常是用户浏览器)会先选择要上传的文件,然后利用HTML5的File ...
"php socket邮件发送类"是这样一个工具,它通过SMTP协议与邮件服务器建立连接,从而实现邮件的发送。 SMTP(Simple Mail Transfer Protocol)是互联网上用于传输电子邮件的标准协议。HTML电子邮件则是一种包含HTML...
在PHP中,我们可以使用`socket_create()`函数创建一个SOCKET连接,然后通过`socket_connect()`与指定的服务器建立连接。在POST请求中,我们需要向服务器发送带有数据的HTTP头和数据体。 POST请求的构建通常包括以下...
下面是一个简单的PHP Socket服务器端示例代码,用于接收客户端的连接请求并与其进行通信。 ```php <?php // 获取协议常量 $commonProtocol = getprotobyname('tcp'); // 创建Socket $socket = socket_create(AF_...
下面是一个简单的PHP Socket服务器端示例: ```php <?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请求,并提供一个具体的示例。 首先,理解POST请求的基本概念至关重要。POST是HTTP协议中的一个方法,用于向服务器提交数据,通常用于创建新的资源。当我们需要...
php socket client class 能多次发送信息, 有异常处理。
socket_write ( $newsock , "这是一个delphi(客户端) socket 与 PHP_socket(服务器) 通信的例子 测试,交流QQ:410578660。 but ill make an exception :)\n" . "There are " .( count ( $clients ) - 1 ). " ...
可能是一个帮助文档,包含了PHP的官方手册或教程,覆盖了PHP的语法、函数、扩展等各个方面,是学习PHP的重要参考。"www.pudn.com.txt"可能是从PUDN网站下载资料的记录,PUDN是一个知名的IT资源共享平台,提供各种...
在PHP中,我们可以使用`socket_create()`函数创建一个socket,然后使用`socket_connect()`来连接到指定的服务器。 以下是一些关于PHP socket编程的关键知识点: 1. **创建socket**: 使用`socket_create()`函数...