在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
。当客户端连接到服务器时,服务器会读取客户端发送的数据,并发送一条响应消息给客户端。最后关闭与客户端的连接和服务器监听。