Funktionsname: Socket_Sendmsg ()
Anwendbare Version: Php 7.2.0 und höher
Funktion Beschreibung: Socket_Sendmsg () Funktion wird verwendet, um Nachrichten über Sockets zu senden.
Syntax: Bool Socket_Sendmsg (Ressource $ Socket, Array $ message, int $ flags = 0)
Parameter:
- $ Socket: Socket Resource, erstellt von Socket_Create () Funktion.
- $ meldung: Ein Array mit Nachrichten, einschließlich der folgenden Schlüsselnamen:
- 'IOV': Ein Array mit Nachrichtendaten, jedes Element ist eine Zeichenfolge.
- 'Control': Ein Array mit Steuerungsinformationen, jedes Element ist eine Zeichenfolge.
- 'Flags': Geben Sie das Flag -Bit der Nachricht an.
- $ flags: Optionaler Parameter, verwendet, um das Flag -Bit zum Senden der Nachricht anzugeben, ist der Standardwert 0.
Rückgabewert: Return true on Success und falsch beim Scheitern.
Beispiel:
// 创建套接字$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 连接到服务器$connect = socket_connect($socket, '127.0.0.1', 8080); if ($connect === false) { echo "连接失败:" . socket_strerror(socket_last_error($socket)); exit; } // 构建消息数组$message = [ 'iov' => ['Hello, Server!'], 'control' => [], 'flags' => 0, ]; // 发送消息if (socket_sendmsg($socket, $message, 0) === false) { echo "发送消息失败:" . socket_strerror(socket_last_error($socket)); } else { echo "消息发送成功!"; } // 关闭套接字socket_close($socket);
Anmerkungen:
- Bevor Sie die Funktion von Socket_Sendmsg () verwenden, müssen Sie einen Socket erstellen und eine Verbindung zum Server herstellen.
- Der Parameter $ $ ist ein assoziatives Array, bei dem der Wert 'IOV' Taste ein Array mit Nachrichtendaten ist, das mehrere Elemente enthalten kann. Jedes Element ist eine Zeichenfolge, die eine Nachricht darstellt.
- Der entsprechende Wert der "Steuer" -Staste in der Parameter $ Meldung ist ein Array, das Steuerungsinformationen enthält, und jedes Element ist auch eine Zeichenfolge, die eine Steuerungsinformationen darstellt.
- Mit dem Parameter $ $ Flags kann das Flag-Bit der Nachricht festgelegt werden. Wenn Sie beispielsweise auf msg_dontwait festlegen, kann die Sendungsoperation auf den nicht blockierenden Modus festgelegt werden.
- Wenn die Funktion FALSE zurückgibt, können Sie die Funktion mit Socket_Strerror () verwenden, um spezifische Fehlerinformationen zu erhalten.