Hello List -

I am having a problem with fsockopen since my ISP upgraded their linux server. The same function works just fine on another linux server and PHP version (using a different ISP).

This fsockopen function previously worked as expected, returning within the specified timeout (2 sec) if a socket connection attempt to client is rejected, eg by a firewall.
For connection to port 1720, (then immediate close of socket if fsockopen returns true) I use :

$fsock=fsockopen( $address, 1720 , &$errno, &$errmesg , 2);

I have also tried 2.0 (float) rather than 2 as per PHP manual, this makes no difference.
http://www.php.net/manual/en/function.fsockopen.php

The specific symptoms :

No listener on client port 1720 : Succeeds
Listening client socket on port 1720 Succeeds
Client firewall configured to allow connections Succeeds
Client firewall configured to deny connections Fails

The fail mode is that fsockopen does *not* return after the specified timeout, and the script itself eventually times out at the default 30 sec.

Working configuration : PHP 4.1.2, Linux Redhat 2.2.20, Apache 1.3.22
Http Env vars :i386-redhat-linux-gnu

Non-working configuration : PHP 4.0.6, Linux Redhat 2.4.9-21smp i686, Apache 1.3.27
Http Env vars : i386-slackware-linux-gnu

Anybody able to offer any help or point me at a way to step round this problem ? I thought of setting up an XML feed by HTTP Post from one machine to another - they are on diffrent networks so I worry about latency.

Thanks for any help or suggestions to fix this problem, or any anecdotal evidence I can use to fix it !!

Neil Smith.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to