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

Reply via email to