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
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.