заставить сервер ждать [FIN + ACK] от клиента перед закрытием сокета

У меня есть следующий скрипт php (tcp server)

<?php

$sock = socket_create(AF_INET, SOCK_STREAM, 0);

// Bind the socket to an address/port
socket_bind($sock, "0.0.0.0", 14010) or die('Could not bind to address');
$i=0;
for(;;) {
// Start listening for connections
socket_listen($sock);

/* Accept incoming requests and handle them as child processes */
$client = socket_accept($sock);

// Read the input from the client &#8211; 1024 bytes
$in = socket_read($client, 41984);

socket_write($client, $in);

//socket_close($client);
}

// Close the master sockets

socket_close($sock);
?>

Как я могу заставить сервер ждать [FIN + ACK] от клиента перед закрытием сокета?

0

Решение

Можно вместо звонить closeсделать recv на сокете (не уверен в конструкции php). recv системный вызов возвращает 0 при закрытии узла. Если это так, то вы можете close на стороне сервера.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]