> Hi all, I've used ZeroMQ in a mobile app (see http://www.ibuzzedfirst.com ) > previously, for the iPhone and Android versions, as those platforms support > native/C++/Socket development, and therefore ZeroMQ. > > For the WindowsPhone 7.5 (OS 7.1) version, I had to re-implement any required > ZeroMQ functionality from scratch, as WinPhone 7.5 only supports C#, not C++ > (it's effectively a C# Silverlight App). Also, WinPhone 7.5 only provides its > own 'version' of Socket support ( > http://msdn.microsoft.com/en-us/library/sb27wehh%28v=vs.95%29.aspx ) which > only support Async versions of functions, e.g. ConnectAsync, SendAync, > ReceiveAsync etc. However, the lack of C++ made this a moot point. > > As such, for the WindowsPhone 7.5 version, I restricted the app to 'client' > (Contestant) functionalty only, and didn't implement the 'server' (Quiz > Master) part. This was because the client part of the app only sends and > receives requests, replies and subscriptions to the server, whereas the > server utilises the inherent multi-threaded multi-user functionality of > ZeroMQ. It was (relatively) simple to recreate the ZeroMQ transport > protocol/headers for client use, and use the WindowsPhone Socket support to > provide comms. > > Ok, now I'm looking at porting the app to WinRT on Windows 8. (The > desktop/tablet version first - the Windows Phone 8 RT SDK isn't out yet, but > will be similar). The good news is that C++ is supported in WinRT, yay! > (Actually, it still isn't that simple, when writing C# only WinRT apps, you > can compile for 'AnyCPU', as soon as you include a C++ portion, you have to > build 3 different versions - x86/Win32, x64, and ARM versions, but that's a > different problem). > > Unfortunately though, like Windows 7/8 Phone, WinRT does NOT support 'normal' > Berkeley Socket access, but instead offers its own 'version' of Socket > programming, with discrete classes for different socket scenarios, e.g. > StreamSocket for a connecting TCP client ( > http://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.sockets.streamsocket.aspx#methods > ), StreamSocketListener for a bindable TCP server ( > http://msdn.microsoft.com/en-us/library/windows/apps/windows.networking.sockets.streamsocketlistener.aspx#methods > ), and DatagramSocket / DatagramSocketListener for the UDP versions. > Furthermore, only async versions of all the methods are provided. > > So it looks like, to get ZeroMQ to compile sucessfully on WinRT, I'm going to > have to write a Facade layer that provdes a Berkeley Socket-like C++ > interface, and underneath performs the necessary mapping to the version of > Socket programming provided by WinRT. > > Has anyone else started this journey or written a similar facade? Interested > to hear everyone's thoughts, especailly as WinRT looks to quite a 'big thing'! > > Regards, > Nick Talbot > > > > > >
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
