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

socket_send

將數據發送到連接的套接字
名稱:socket_send
分類:套接字Sockets
所屬語言:php
一句話介紹:在已連接的套接字上發送數據

函數名: socket_send()

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

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

說明: socket_send() 函數用於在已連接的套接字上發送數據。此函數將指定的數據發送到套接字連接的另一端。

參數:

  • $socket:已連接的套接字資源,通過socket_create() 和socket_connect() 創建。
  • $buf:要發送的數據,必須是字符串類型。
  • $len:要發送的數據長度。
  • $flags:可選參數,可以設置為以下常量之一:
    • MSG_OOB:發送帶外數據。
    • MSG_EOR:在數據末尾添加一個EOR (end-of-record) 標記。
    • MSG_EOF:發送一個文件結束符。
    • MSG_DONTROUTE:不使用路由表發送數據。

返回值:成功時返回發送的字節數,失敗時返回FALSE。

示例:

 // 创建套接字$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { echo "socket_create() failed: " . socket_strerror(socket_last_error()) . "\n"; exit; } // 连接到服务器$result = socket_connect($socket, '127.0.0.1', 8080); if ($result === false) { echo "socket_connect() failed: " . socket_strerror(socket_last_error($socket)) . "\n"; exit; } // 发送数据$data = "Hello, server!"; $bytesSent = socket_send($socket, $data, strlen($data), 0); if ($bytesSent === false) { echo "socket_send() failed: " . socket_strerror(socket_last_error($socket)) . "\n"; exit; } echo "Sent $bytesSent bytes to server.\n"; // 关闭套接字socket_close($socket);

上述示例中,我們首先創建了一個套接字,然後通過socket_connect() 函數將套接字連接到服務器。接下來,我們使用socket_send() 函數發送了一個字符串數據給服務器。最後,我們關閉了套接字。

請注意,示例中的IP 地址和端口號僅作為示範,您需要根據實際情況修改為正確的值。

同類函數
熱門文章