Nom de la fonction: socket_sendmsg ()
Version applicable: PHP 7.2.0 et supérieur
Fonction Description: La fonction socket_sendmsg () est utilisée pour envoyer des messages via des sockets.
Syntaxe: bool socket_sendmsg (Resource $ socket, array $ message, int $ flags = 0)
paramètre:
- $ socket: socket ressource, créé par socket_create ().
- $ message: un tableau contenant des messages, y compris les noms de clés suivants:
- 'IOV': un tableau contenant des données de message, chaque élément est une chaîne.
- «Control»: un tableau contenant des informations de contrôle, chaque élément est une chaîne.
- «Flags»: spécifiez le bit de drapeau du message.
- $ Flags: Paramètre facultatif, utilisé pour spécifier le bit de signalisation pour l'envoi du message, la valeur par défaut est 0.
Valeur de retour: renvoyez True sur le succès et FAUX en échec.
Exemple:
// 创建套接字$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);
Notes:
- Avant d'utiliser la fonction socket_sendmsg (), vous devez créer une prise et vous connecter au serveur.
- Le message de paramètre $ est un tableau associatif, où la valeur correspondant à la touche 'iov' est un tableau contenant des données de message, qui peuvent contenir plusieurs éléments, chaque élément est une chaîne représentant un message.
- La valeur correspondante de la touche «contrôle» dans le message Paramètre $ est un tableau contenant des informations de contrôle, et chaque élément est également une chaîne, représentant une information de contrôle.
- Les drapeaux de paramètre $ peuvent être utilisés pour définir le bit de drapeau du message, par exemple, le définir sur msg_dontwait peut définir l'opération d'envoi en mode non bloquant.
- Lorsque la fonction renvoie faux, vous pouvez utiliser la fonction socket_strorror () pour obtenir des informations d'erreur spécifiques.