PHP Socket通信是一种网络通信机制,允许不同计算机或进程之间通过网络传输数据。以下是关于PHP Socket通信的教程:
socket_*()
函数(例如:socket_create()
, socket_bind()
, socket_listen()
等)来创建、使用和管理Socket。$host = '127.0.0.1';
$port = 8080;
// 创建 socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!$socket) {
echo "socket_create() failed: " . socket_strerror(socket_last_error()) . "\n";
exit;
}
// 绑定
socket_bind($socket, $host, $port);
// 监听
socket_listen($socket);
echo "Server listening on $host:$port...\n";
// 接受客户端连接
$clientSocket = socket_accept($socket);
if (!$clientSocket) {
echo "socket_accept() failed: " . socket_strerror(socket_last_error($socket)) . "\n";
exit;
}
// 读取并输出客户端发送的数据
$data = socket_read($clientSocket, 1024);
echo "Received from client: $data\n";
// 向客户端发送响应
$response = "Hello from server!";
socket_write($clientSocket, $response);
// 关闭连接
socket_close($clientSocket);
socket_close($socket);
$host = '127.0.0.1';
$port = 8080;
// 创建 socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!$socket) {
echo "socket_create() failed: " . socket_strerror(socket_last_error()) . "\n";
exit;
}
// 连接到服务器
$result = socket_connect($socket, $host, $port);
if (!$result) {
echo "socket_connect() failed. Reason: " . socket_strerror(socket_last_error($socket)) . "\n";
exit;
}
// 向服务器发送数据
$message = "Hello, server!";
socket_write($socket, $message);
// 从服务器接收响应
$response = socket_read($socket, 1024);
echo "Server response: $response\n";
// 关闭连接
socket_close($socket);
通过上述示例,您可以实现一个简单的PHP Socket服务器和客户端,进行数据的发送和接收。
希望这些信息能帮助您理解PHP Socket通信的基础知识和实际应用。如果您有任何疑问或需要进一步的帮助,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云