thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samir Mulder <samir.mul...@gmail.com>
Subject Re: generated php code, unable to connect to thrift server
Date Fri, 18 Sep 2009 22:34:45 GMT
Simon,

you need to call:

$transport->open();

before making any calls to the server. That opens the socket to the  
server.

The error 'supplied argument is not a valid stream resource' means  
'not a valid open socket'.

And after you're done with your server calls, call:

$transport->close();

to close the socket and free up the file descriptor.

Thanks.

Paul

On Sep 18, 2009, at 3:25 PM, Simon Chu wrote:

> This is my entire program:  (transport is not null, and no exception  
> thrown there...)
>
> it threw exception at the last line:
>
>     $socket = new TSocket("thriftpuzzle.facebook.com", 9030);
>     if (($transport = new TBufferedTransport($socket)) == null) {
>        printf("Transport is null");
>     }
>     $protocol  = new TBinaryProtocol($transport);
>
>     //$ssclient = new SimonSaysClient("thriftpuzzle.facebook.com");
>     $ssclient = new SimonSaysClient($protocol);
>     $ssclient->registerClient("emailaddr@gmail.com");   // replace  
> emailaddr with your email addr
>
> Output:
> PHP Warning:  stream_set_timeout(): supplied argument is not a valid  
> stream resource in /home/simon/PROG/PHP/UTILITY/trunk/facebook/ 
> thrift/transport/TSocket.php on line 281
> PHP Warning:  stream_get_meta_data(): supplied argument is not a  
> valid stream resource in /home/simon/PROG/PHP/UTILITY/trunk/facebook/ 
> thrift/transport/TSocket.php on line 287
> Failed registeringTSocket: Could not write 55 bytes  
> thriftpuzzle.facebook.com:9030
>
> On Fri, Sep 18, 2009 at 3:03 PM, Samir Mulder  
> <samir.mulder@gmail.com> wrote:
> Are you sure you successfully opened the transport?
>
> If possible, can you post the sample client prog you have so far?
>
> Samir
>
>
> On Sep 18, 2009, at 2:54 PM, Simon Chu wrote:
>
> PHP Warning:  stream_set_timeout(): supplied argument is not a valid  
> stream
> resource in
> /home/simon/PROG/PHP/UTILITY/trunk/facebook/thrift/transport/ 
> TSocket.php on
> line 281
> PHP Warning:  stream_get_meta_data(): supplied argument is not a valid
> stream resource in
> /home/simon/PROG/PHP/UTILITY/trunk/facebook/thrift/transport/ 
> TSocket.php on
> line 287
> Failed registeringTSocket:
>
> Exception msg
> Could not write 55 bytes http://thriftpuzzle.facebook.com:9030
>
> Sorry if this is a repeat, not sure if my last post went through.
>
> Simon
>
> On Fri, Sep 18, 2009 at 11:43 AM, bill fumerola <billf@mu.org> wrote:
>
> On Fri, Sep 18, 2009 at 11:07:10AM -0700, Simon Chu wrote:
> i)  is the C, cpp interface similar, please give example
>
> c++ interface is as identical as a php and c++ implementation can be.
>
> shared_ptr<TSocket> socket (new TSocket(host, port));
> shared_ptr<TTransport> transport (new TBufferedTransport(socket);
> shared_ptr<TProtocol> protocol (new TBinaryProtocol(transport));
> shared_ptr<myClient> client (new myClient(protocol);
>
> try {
> transport->open();
> int ret = client->someCallReturnsInt();
> } catch (exception &e) {
> cout << "exception: " << e.what() << endl;
> }
>
> ii)  I got further.  Where is TException defined?  What is the  
> method to
> print out exception message?
>
> TException inherits from Exception.
>
>
> http://svn.apache.org/repos/asf/incubator/thrift/trunk/lib/php/src/Thrift.php
>
> http://us2.php.net/manual/en/language.exceptions.php
>
> e.g.
> try {
> $transport->open();
> } catch (Exception $e) {
> echo $e->getMessage();
> }
>
>
> -- bill
>
>
>


Mime
View raw message