Linux中如何通过php实现socket通信(Linux下使用PHP实现Socket通信)

在Linux下,您可以使用PHP的套接字扩展(sockets)实现Socket通信。

以下示例展示了一个简单的TCP套接字服务器和客户端。

服务器:

创建一个名为socket_server.php的文件,然后添加以下代码:

<?php
set_time_limit(0);

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

// 绑定套接字到IP和端口
$address = '127.0.0.1';
$port = 10000;
socket_bind($socket, $address, $port);

// 开始监听
socket_listen($socket);

// 接受客户端连接
$client = socket_accept($socket);

// 从客户端接收消息
$receivedMessage = '';
socket_recv($client, $receivedMessage, 2048, 0);
echo "接收到的消息:$receivedMessage\n";

// 向客户端发送消息
$sendMessage = "你好,客户端!";
socket_send($client, $sendMessage, strlen($sendMessage), 0);

// 关闭连接
socket_close($client);
socket_close($socket);

客户端:

创建一个名为socket_client.php的文件,然后添加以下代码:

<?php
set_time_limit(0);

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

// 连接到服务器
$address = '127.0.0.1';
$port = 10000;
socket_connect($socket, $address, $port);

// 向服务器发送消息
$sendMessage = "你好,服务器!";
socket_send($socket, $sendMessage, strlen($sendMessage), 0);

// 从服务器接收消息
$receivedMessage = '';
socket_recv($socket, $receivedMessage, 2048, 0);
echo "接收到的消息:$receivedMessage\n";

// 关闭连接
socket_close($socket);

首先运行服务器脚本:php socket_server.php

服务器将开始监听并等待客户端连接。

然后,在另一个终端中运行客户端脚本:php socket_client.php

客户端将连接到服务器并发送一条消息,然后接收服务器的响应。

图片[1]-Linux中如何通过php实现socket通信(Linux下使用PHP实现Socket通信)-不念博客

总结

请确保套接字扩展已安装并启用,在大多数情况下,它已默认安装。

如有需要,您可以通过编辑php.ini文件并添加或取消注释extension=sockets来启用它,然后重启您的Web服务器。

© 版权声明
THE END