php简单socket服务器客户端代码实例

当前PHP版本为7.4.21,以下是“PHP简单socket服务器客户端代码实例”的完整攻略:

当前PHP版本为7.4.21,以下是“PHP简单socket服务器客户端代码实例”的完整攻略:

什么是Socket

Socket是一种通信机制,可以实现不同计算机节点之间的数据传输。在Socket通信中,通信双方都需要运行Socket,其工作流程如下:

  1. 服务器程序绑定一个端口号,并且监听来自客户端的连接请求
  2. 客户端程序连接服务器
  3. 服务器接受客户端连接请求,建立连接,开启一次通信会话
  4. 双方通过套接字进行数据传输

Socket通信一般使用TCP协议,因为TCP协议保证了数据传输的可靠性和顺序。

Socket客户端实现步骤

以下是Socket客户端的实现步骤:

  1. 连接到服务器
  2. 通过套接字进行数据传输
  3. 关闭套接字

下面通过一些实例进一步阐述。

实例一:Socket客户端向服务器发送数据

这个例子将向服务器发送数据,服务器会从客户端接收数据并返回一个响应。

<?php

$host = "127.0.0.1";
$port = 12345;
$message = "Hello server!";

// 创建一个TCP/IP套接字
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

// 连接套接字到指定的主机和端口
$result = socket_connect($socket, $host, $port);

if ($result === false) {
    echo "socket_connect() failed. Reason: " . socket_strerror(socket_last_error()) . "\n";
}

// 发送请求
socket_write($socket, $message, strlen($message));

// 从服务器获取响应
$resp = socket_read($socket, 1024);

echo "Response from server: $resp\n";

// 关闭套接字
socket_close($socket);
?>

以上代码的输出结果将会显示服务器的响应。

实例二:Socket客户端连接服务器并持续发送数据

这个例子将通过循环向服务器发送数据,服务器将持续接收客户端的数据并返回响应。

<?php

$host = "127.0.0.1";
$port = 12345;
$message = "Hello server!";

// 创建一个TCP/IP套接字
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

// 连接套接字到指定的主机和端口
$result = socket_connect($socket, $host, $port);

if ($result === false) {
    echo "socket_connect() failed. Reason: " . socket_strerror(socket_last_error()) . "\n";
}

// 持续向服务器发送数据
while (true) {
    // 发送请求
    socket_write($socket, $message, strlen($message));

    // 从服务器获取响应
    $resp = socket_read($socket, 1024);

    echo "Response from server: $resp\n";

    // 睡眠一段时间后再次发送
    usleep(500000);
}

// 关闭套接字
socket_close($socket);
?>

以上代码将不断向服务器发送消息,并打印服务器回复的响应结果。

以上就是PHP简单Socket服务器客户端代码实例的完整攻略。希望以上内容能对您有所帮助。

本文标题为:php简单socket服务器客户端代码实例

基础教程推荐