Peer-to-peer syncing?

Jun 23, 2013 at 9:56 AM
Is it possible (perhaps with some code alterations) to use this toolkit in a peer-to-peer manner rather than via a server? I know that the underlying sync framework can support peer-to-peer but it wasn't clear to me whether or not anything in the implementation of this toolkit would prevent that usage.

Jun 23, 2013 at 1:46 PM
Hum.. I think it's possible but what is your architecture ? WP8 to WP8 ? Win8 to Win8 ?
In fact, to be honest, I think you can't establish a direct connection beetween two devices.
Jun 23, 2013 at 7:07 PM
I'm thinking that Win8 would act the role of the server, and have either another Win8 or a WP8 device as the device wanting to sync.

From the little I've read, WinRT does support network sockets (including listening sockets) so I would be interested to better understand why you don't think you can establish a direct connection. My thinking is that the user would initiate some steps manually, e.g. in the Win8 app, select "Start receiving sync" and the app would then display an IP address. On another Win8 or WP8 device, in the app they would select "Start sending sync" and then enter the IP address shown on the first device. It would need to be on the same network - I'm not going to try and entertain the possibility of syncing across the Internet unless the user is really familiar with firewalls, NAT, etc.

I think your documentation says that OData is used, so the socket usage should be fairly straightforward. It is just that I don't know enough about the Sync Framework to understand how you use it differently between a hub & spoke configuration or a peer-to-peer configuration.
Jul 23, 2013 at 9:56 PM
Yes, you're right.
In this particular case, the problem comes from the "server side" of the toolkit
Both win8 app need have the client side (this codeplex project :) ) and a server side, which doesn't exist for the moment.
So, yes, obviously, it's possible, buy you have to develop the toolkit server side for WinRT (and trust me, it will be hard :))