Le 19 juin 07 à 02:03, Yen-Ju Chen a écrit : > On 6/18/07, Quentin Mathé <[EMAIL PROTECTED]> wrote: >> Le 10 juin 07 à 19:21, Yen-Ju Chen a écrit : >> >>> I recently try to transfer data in P2P style. >>> It is more-or-less like iTunes where you can share data (playlist >>> in this case). >>> I think it may be useful for Etoile in general. >>> I was planing to do distributed object over zeroconf >>> and realized distributed object is too simple for larger data. >>> Users may want to set password, stop transfer in the middle, etc. >>> So I take a look of XML-RPC and SOAP, which seems to be useful. >>> Any comment on it ? >>> I was considering XMPP, but for P2P, an embedded server is needed. >>> And I think Jabber server is just too big for such simple operation. >>> >>> These two libraries seems to fit. >>> They all have an embedded HTTP server. >>> >>> http://csoap.sourceforge.net/index.php >>> http://xmlrpc-c.sourceforge.net/ >> >> GNUstep GSXMLRPC here: <http://www.gnustep.org/resources/ >> documentation/Developer/BaseAdditions/Reference/index.html> >> >> I'm not sure my proposal below makes sense, but that's just a quick >> thought I had about your idea. >> May be Distributed Object can be extended to provide stuff like user >> authentification, fine control over data transfer. This could be >> possibly done by delegating such stuff to some XML-RPC-based >> subsystem. By the way this would also provide a reusable solution >> (protocol and UI) to access remote objects when user authentification >> is needed. > > With XML-RPC, you still need an embedded web server. > I got this one: shttpd (http://shttpd.sourceforge.net/).
Looks really small but with a nice set of features. > I am playing with SSL support now. > You can try it in koelr (http://code.google.com/p/koelr/) > under ShareKit. > There is a test application whether you can access > through Bonjour (Safari support it). > It poses as a web server for now (_http._tcp). > You may need to change the port since SSL is not ready yet. ok. > I figure if I can get an embedded server, > we don't really need to use XML-RPC. > It is much easier to communicate with property list straight. > And since it is for P2P, there is no reason to use XML-RPC > because we are not expecting a third-party application. Right. > So the client find the server with zeroconf, > request a page using url as standard HTTP, > then the server return a property list in XML format (text/xml) > (An application is a client and server by the way). > If client want a big file (PDF, Movie), > then it just use standard HTTP to get it. > > There is a webserver library in GNUstep. > Unfortunately, the SSL part from GNUstep is not portable on Mac. ok. You may fill a bug report for GNUstep webserver portability if you feel in the mood to do so ;-) > So I decide to use shttpd as embedded web server. > And for client part, I use libcurl, again, because of SSL support. ok > Mac seems to have a SecurityInterface.framework for SSL. It's UI part, SecurityFoundation is the other part. But both are just wrappers around Keychain and CDSA (Apple security architecture). We could surely reimplement these API on our side with our own security infrastructure. > There is a ConnectionKit (http://opensource.utr-software.com/ > connection/), > but I think it only works on Mac using some CoreFoundation stuff. The last time I took a look at it, I didn't find so much CoreFoundation stuff. In fact, I find this framework quite nice and I would like to use ConnectionKit for CoreObject backends. I would port only non-UI code. But I got to take an in-depth look at it to see whether it's really doable. Cheers, Quentin. _______________________________________________ Etoile-discuss mailing list [email protected] https://mail.gna.org/listinfo/etoile-discuss
