Hey all,

People who have been recieving this list for a while may remember me 
going through all this a while back, so I am not really a newbie when 
using sockets. I am basically trying to rewrite my Online Credit Card 
Verification (OCV) client with the new socket functions.

In thoery the following should work:

--- example1 socket functions ----

$socket = socket(AF_INET, SOCK_STREAM, 0);
$conn = connect($socket, some_ip_address, some_port);
set_nonblock($socket);

$packet = "a  request";
write($socket, $packet, some_length);

$start = time();
$buffer = "";

while ( empty($buffer) && (time() < $start + 30 )) {
read($socket, $buffer, some_length);
}
This does not work will hang until the script times out (max execution 
time is exceeded).

----- exampe 2 network and file system functions -----

$socket = fsockopen (some_address, some_port, $errno, $errstr, 30);
set_socket_blocking($socket, 0);

$packet = "a request";
fputs ($socket, $packet);

$start = time();

while ( empty($buffer) && (time() < $start + 30 )) {
$buffer = fgets($socket, some_length);
}

Works! After 30 seconds fgets is timed out.

The lengths I am reading and writing are correct as all request and 
response lengths are pre-determined.

I cannot use set_socket_blocking($socket, 0) in example 1 instead of 
set_nonblock($socket) as it will generate an errora s follows:

Warning: Supplied argument is not a valid File-Handle resource ...

I believe that in example 1 the socket is not being set to nonblock mode?

Can anyone verfiy this, give me a better way, or maybe just put me out 
of my misery :-)

Regards,

Joseph








-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to