Hướng dẫn dùng extension socket trong PHP

Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều

error_Reporting (e_all);E_ALL);
echo "kết nối TCP/IP \ n"; "

TCP/IP Connection

\n";
/* Nhận cổng cho dịch vụ www. */
$ service_port = getServByName ('www', 'tcp');service_port = getservbyname('www', 'tcp');
/* Nhận địa chỉ IP cho máy chủ đích. */
$ địa chỉ = gethostbyname ('www.google.com');address = gethostbyname('www.google.com');
/* Tạo ổ cắm TCP/IP. */
$ socket = socket_create (af_inet, sock_stream, sol_tcp);socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($ socket === false) { ($socket === false) {
echo "socket_create () không thành công: lý do:". socket_strerror (socket_last_error ()). "\N"; "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
} khác {else {
tiếng vang "ok. \ n"; "OK.\n";
}
echo "cố gắng kết nối với '$ địa chỉ' trên cổng '$ service_port' ..."; "Attempting to connect to '$address' on port '$service_port'...";
$ result = socket_connect ($ socket, $ địa chỉ, $ service_port);result = socket_connect($socket, $address, $service_port);
if ($ result === false) { ($result === false) {
echo "socket_connect () không thành công. \ nrason: ($ result)". Socket_strerror (socket_last_error ($ socket)). "\N"; "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
} khác {else {
tiếng vang "ok. \ n"; "OK.\n";
}
echo "cố gắng kết nối với '$ địa chỉ' trên cổng '$ service_port' ...";in = "HEAD / HTTP/1.1\r\n";
$ result = socket_connect ($ socket, $ địa chỉ, $ service_port);in .= "Host: www.google.com\r\n";
if ($ result === false) {in .= "Connection: Close\r\n\r\n";
echo "socket_connect () không thành công. \ nrason: ($ result)". Socket_strerror (socket_last_error ($ socket)). "\N";out = '';
$ in = "head / http / 1.1 \ r \ n"; "Sending HTTP HEAD request...";
$ in. = "Máy chủ: www.google.com \ r \ n";$socket, $in, strlen($in));
tiếng vang "ok. \ n"; "OK.\n";
} "Reading response:\n\n";
echo "cố gắng kết nối với '$ địa chỉ' trên cổng '$ service_port' ..."; ($out = socket_read($socket, 2048)) {
$ result = socket_connect ($ socket, $ địa chỉ, $ service_port); $out;
}
echo "cố gắng kết nối với '$ địa chỉ' trên cổng '$ service_port' ..."; "Closing socket...";
$ result = socket_connect ($ socket, $ địa chỉ, $ service_port);$socket);
if ($ result === false) { "OK.\n\n";
echo "socket_connect () không thành công. \ nrason: ($ result)". Socket_strerror (socket_last_error ($ socket)). "\N";

1

$ in = "head / http / 1.1 \ r \ n";
Learn more.

$ in. = "Máy chủ: www.google.com \ r \ n";

$ in. = "Kết nối: Đóng \ r \ n \ r \ n";

 `extension=sockets`

$ out = '';

echo "gửi yêu cầu đầu http ...";

socket_write ($ socket, $ in, strlen ($ in));

echo "Đọc phản hồi: \ n \ n";

while ($ out = socket_read ($ socket, 2048)) {Jul 8, 2021 at 4:44

1

tiếng vang $ out;

RUN docker-php-ext-install sockets

Đã trả lời ngày 8 tháng 7 năm 2021 lúc 10:41Jul 8, 2021 at 10:41

Hướng dẫn dùng extension socket trong PHP

MaksimmaksimMaksim

2.3802 Huy hiệu vàng8 Huy hiệu bạc25 Huy hiệu Đồng2 gold badges8 silver badges25 bronze badges

Bạn cũng có thể sử dụng install-php-extensions để cài đặt và bật tiện ích mở rộng PHP sockets (cũng như một tấn tiện ích mở rộng PHP khác):

COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/

RUN install-php-extensions sockets

Thông tin chi tiết về https://github.com/mlocati/docker-php-extension-installer

Đã trả lời ngày 14 tháng 7 năm 2021 lúc 16:21Jul 14, 2021 at 16:21