Re: Pqsocket not implemented in PHP

Поиск
Список
Период
Сортировка
От Volkan YAZICI
Тема Re: Pqsocket not implemented in PHP
Дата
Msg-id 7104a73705063004386e866f92@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Pqsocket not implemented in PHP  ("Nick Stone" <nick@harelane.com>)
Ответы Re: Pqsocket not implemented in PHP  ("Nick Stone" <nick@harelane.com>)
Список pgsql-php
Hi,

On 6/30/05, Nick Stone <nick@harelane.com> wrote:
> I'm a bit confused the FD is all that is
> required for the select call - so I think what you're saying is that the
> postgres socket open mechanism isn't the same in php as the postgres C
> development library.

No. PHP has an internal struct type to record `resource's. (As you
know, resources are data sources for other functions and they're
specific to PHP.) Therefore, it's not just passing PQsocket() value to
select() function. I'm not very experienced in the PHP internals, but
AFAIC, you need to store socket FD in a specific struct and use other
Zend API calls to proccess 'em.

To sum up, I'd advice you to take a look at ext/socket/socket.c in PHP
source code for a better point of view.

> I say this because I've implemented this exact mechanism in C++ before
> without problem so I'm really not quite following - sorry.

In C++, you just passed PQsocket() value to select() condition. But in
PHP it's not as easy as this. You need to store PQsocket() value in a
specific struct. Let me explain this in PHP way:

When we look at socket_create() function:
  resource socket_create ( int domain, int type, int protocol )
socket_create() doesn't return an `int' for socket FD, it returns a
socket `resource'. That's what I try to mean with "PHP's internal data
source representation".

Regards.

В списке pgsql-php по дате отправления:

Предыдущее
От: "Nick Stone"
Дата:
Сообщение: Re: Pqsocket not implemented in PHP
Следующее
От: "Nick Stone"
Дата:
Сообщение: Re: Pqsocket not implemented in PHP