Le 02/01/2012 16:43, Stephan Bergmann a écrit :
On 01/02/2012 12:37 PM, Paul TOTH wrote:
Hi,
Le 02/01/2012 14:21, Stephan Bergmann a écrit :
On 01/02/2012 11:06 AM, Paul TOTH wrote:
does anyone know the URP protocol ?
I've found very few information about it
http://wiki.services.openoffice.org/wiki/Uno/Remote/Specifications/Uno_Remote_Protocol
But that's as detailed as you can reasonably expect it to be? ;)
Anyway, I assume your problem is higher up the abstraction hierarchy
than plain URP. If there were problems establishing localhost
connections, you would get problems already before reaching the
loadComponentFromURL call.
Well I havent' found any document on how the IDs (like
1e3ad60;uno[0];18b8;85f8da80603b478cb08cd837553b7f6d) are defined...so
I've used Windows GUID to identify my objects instances.
Ah, it had escaped me that you implemented an URP end-point of your
own. How such IDs are generated is indeed unspecified. See also
<https://issues.apache.org/ooo/show_bug.cgi?id=32547> "Missing
Specification to Guarantee Unique URP Thread IDs."
I've notice some strange behaviors when using a predefined ThreadID like
"RemoteOffice-ThreadID", on a first request, everything is fine, but
some objects OIDs seems to be persistant event after the socket
deconnexion. I guess when they are cleared ?! So I use a unique one now.
my application is a single thread process, after the protocol handcheck,
I send a request a read answers until I get my own threadID back,
something like :
send_my_request(my_thread_id);
while (get_reply->thread_id != my_thread_id) process_server_request();
process_server_reply();
Are you sure that you would handle scenarios correctly where the
remote side sends back requests on the same thread ID while you are
waiting for a reply?
well, I'm not sure how Office is done, but from the tests I've made :
- with XInitialize the server do not send any request
- with an XInputStream the server request some interfaces like
XSeekable, XCloseable, call some methods (seek, readsomeBytes...) but
this is done on an other thread, and then the XComponent OIDs is send on
the main ThreadID.
Paul
Stephan
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice