> 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

Reply via email to