|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2005-02-13 15:00 UTC] tony2001@php.net
[2005-02-21 01:00 UTC] php-bugs at lists dot php dot net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 05:00:01 2025 UTC |
Description: ------------ I'm playing with Socket support in PHP 5, and found something weird. I was writing my own classess for Socket support and done a base: 1) create serversocket 2) create clientsocket on serversocket->accept() 3) close clientsocket 4) close serversocket but if between point 2 and 3 there was no read/write for socket, next try to start a program ended an error. Below here is a part of code for server (from php documentation). I just removed everything between socket_accept and socket_close() and added a counter to skip from loop after 3 connections. Reproduce code: --------------- $inc=0; do { if (($msgsock = socket_accept($sock)) < 0) { echo "socket_accept() failed: reason: " . socket_strerror($msgsock) . "\n"; break; } socket_close($msgsock); $inc++; } while ($inc<3); Expected result: ---------------- Program should close all used sockets and run for the second time normally. Actual result: -------------- Running example from php documentation with the msgsocket part switched with provieded example for the second time results in Warning: socket_bind(): unable to bind address [98]: Address already in use in /server/www/data/thot/tests/simple-server.php on line 19