温馨提示×

php中如何创建一个socket服务器

PHP
小樊
87
2024-09-21 11:21:48
栏目: 云计算

在PHP中,可以使用socket_create()socket_bind()socket_listen()等函数来创建一个简单的socket服务器。下面是一个示例代码:

<?php
// 创建socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!$socket) {
    echo "socket_create() failed: " . socket_strerror(socket_last_error()) . "\n";
    exit();
}

// 设置socket选项
socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);

// 绑定地址和端口
$address = "127.0.0.1";
$port = 8080;
socket_bind($socket, $address, $port);

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

echo "Server is listening on $address:$port...\n";

// 接受客户端连接
$client = socket_accept($socket);
if (!$client) {
    echo "socket_accept() failed.\n";
    exit();
}

// 读取客户端发送的数据
$input = socket_read($client, 2048);
echo "Received message: $input\n";

// 向客户端发送数据
$output = "Hello from server!\n";
socket_write($client, $output);

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

这个示例代码创建了一个简单的TCP socket服务器,监听在127.0.0.1:8080。当客户端连接到服务器时,服务器会读取客户端发送的数据,并发送一条响应消息给客户端。最后关闭与客户端的连接和服务器监听。

0