當前位置: 首頁> 函數類別大全> socket_recv

socket_recv

從連接的套接字接收數據
名稱:socket_recv
分類:套接字Sockets
所屬語言:php
一句話介紹:從已連接的socket接收數據

函數名稱:socket_recv()

函數描述:socket_recv()函數從已連接的socket接收數據。

適用版本:PHP 4 >= 4.1.0, PHP 5, PHP 7

用法: int socket_recv ( resource $socket, string &$buf, int $len, int $flags )

參數:

  • $socket:已連接的socket資源,通過socket_create()和socket_connect()創建。
  • &$buf:接收到的數據將被存儲在此變量中,作為一個字符串。
  • $len:期望接收的數據的最大長度。
  • $flags:可選參數,用於指定額外的接收選項。常用的選項有MSG_OOB(處理帶外數據)和MSG_WAITALL(等待所有數據到達)。

返回值: 成功時,返回接收到的數據的字節數。失敗時,返回false,並可能設置socket_last_error()來獲取錯誤碼。

示例: 以下示例演示瞭如何使用socket_recv()函數從已連接的socket接收數據。

<?php // 创建一个TCP socket $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 连接到服务器 socket_connect($socket, '127.0.0.1', 8080); // 发送数据到服务器 $message = "Hello, server!"; socket_send($socket, $message, strlen($message), 0); // 接收服务器返回的数据 $receivedData = ''; socket_recv($socket, $receivedData, 1024, 0); // 关闭socket连接 socket_close($socket); // 输出接收到的数据 echo $receivedData; ?-->

在上面的示例中,首先創建了一個TCP socket並連接到服務器。然後,使用socket_send()函數將數據發送到服務器。接下來,使用socket_recv()函數接收服務器返回的數據,並將其存儲在$receivedData變量中。最後,關閉socket連接,並將接收到的數據輸出到屏幕上。

同類函數