php的socket编程怎样实现

avatar
作者
猴君
阅读量:0

在PHP中,可以使用socket编程来创建网络通信。以下是一个简单的PHP 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 到地址和端口 $address = "127.0.0.1"; $port = 12345; socket_bind($socket, $address, $port);  // 监听连接 socket_listen($socket); echo "Server listening on $address:$port...\n";  while (true) {     // 接受客户端连接     $client = socket_accept($socket);     if (!$client) {         echo "socket_accept() failed: " . socket_strerror(socket_last_error()) . "\n";         continue;     }      // 读取并输出客户端发送的数据     $data = socket_read($client, 1024);     echo "Received from client: $data\n";      // 向客户端发送数据     $response = "Hello from server!";     socket_write($client, $response);      // 关闭连接     socket_close($client); }  // 关闭服务器 socket socket_close($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; }  // 连接到服务器 $address = "127.0.0.1"; $port = 12345; socket_connect($socket, $address, $port);  // 向服务器发送数据 $message = "Hello from client!"; socket_write($socket, $message);  // 读取并输出服务器发送的数据 $data = socket_read($socket, 1024); echo "Received from server: $data\n";  // 关闭连接 socket_close($socket); ?> 

首先运行服务器端代码,然后运行客户端代码。服务器端将监听来自客户端的连接,并在接收到连接后发送和接收数据。客户端将连接到服务器,发送一条消息,然后接收并输出服务器的响应。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!