当前PHP版本为7.4.21,以下是“PHP简单socket服务器客户端代码实例”的完整攻略:
什么是Socket
Socket是一种通信机制,可以实现不同计算机节点之间的数据传输。在Socket通信中,通信双方都需要运行Socket,其工作流程如下:
- 服务器程序绑定一个端口号,并且监听来自客户端的连接请求
- 客户端程序连接服务器
- 服务器接受客户端连接请求,建立连接,开启一次通信会话
- 双方通过套接字进行数据传输
Socket通信一般使用TCP协议,因为TCP协议保证了数据传输的可靠性和顺序。
Socket客户端实现步骤
以下是Socket客户端的实现步骤:
- 连接到服务器
- 通过套接字进行数据传输
- 关闭套接字
下面通过一些实例进一步阐述。
实例一:Socket客户端向服务器发送数据
这个例子将向服务器发送数据,服务器会从客户端接收数据并返回一个响应。
<?php
$host = "127.0.0.1";
$port = 12345;
$message = "Hello server!";
// 创建一个TCP/IP套接字
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// 连接套接字到指定的主机和端口
$result = socket_connect($socket, $host, $port);
if ($result === false) {
echo "socket_connect() failed. Reason: " . socket_strerror(socket_last_error()) . "\n";
}
// 发送请求
socket_write($socket, $message, strlen($message));
// 从服务器获取响应
$resp = socket_read($socket, 1024);
echo "Response from server: $resp\n";
// 关闭套接字
socket_close($socket);
?>
以上代码的输出结果将会显示服务器的响应。
实例二:Socket客户端连接服务器并持续发送数据
这个例子将通过循环向服务器发送数据,服务器将持续接收客户端的数据并返回响应。
<?php
$host = "127.0.0.1";
$port = 12345;
$message = "Hello server!";
// 创建一个TCP/IP套接字
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// 连接套接字到指定的主机和端口
$result = socket_connect($socket, $host, $port);
if ($result === false) {
echo "socket_connect() failed. Reason: " . socket_strerror(socket_last_error()) . "\n";
}
// 持续向服务器发送数据
while (true) {
// 发送请求
socket_write($socket, $message, strlen($message));
// 从服务器获取响应
$resp = socket_read($socket, 1024);
echo "Response from server: $resp\n";
// 睡眠一段时间后再次发送
usleep(500000);
}
// 关闭套接字
socket_close($socket);
?>
以上代码将不断向服务器发送消息,并打印服务器回复的响应结果。
以上就是PHP简单Socket服务器客户端代码实例的完整攻略。希望以上内容能对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php简单socket服务器客户端代码实例 - Python技术站