Results 1 to 10 of 21

Hybrid View

  1. #1
    Administrator
    Join Date
    Feb 2012
    Location
    Bologna, Italy
    Posts
    102
    Our client library uses only native components for networking: NSURLSession on HTTPS transport, and CFStream on WebSocket transport.

    The mechanism we use is a simple dependency injection pattern:
    • The Java engine wraps all the services it needs for connecting, receiving messages, sending messages etc., behind a Java interface.
    • The Java desktop and Android clients implement this interface with Java classes that use Netty as networking component.
    • The transpilation process scraps the interface implementations, leaving just the bare interface, which then becomes an Obj-C protocol on the iOS client.
    • Finally, the protocol is then implemented with a Obj-C classes that provide the same services using NSURLSession or CFStream as required.


    So, our client is actually well aligned with the latest features of NSURLSession. We don't circumvent them using BSD sockets or similar expedients. Our client is, and has always been, a good iOS citizen regarding networking.

  2. #2
    Member
    Join Date
    Oct 2019
    Location
    Berlin
    Posts
    10
    Thanks for the details, Gianluca! and congratulations on achieving a multi-platform working architecture (I know it is not easy).

 

 

Similar Threads

  1. Java import - package does not exist
    By UweF in forum General
    Replies: 4
    Last Post: March 2nd, 2016, 05:58 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
All times are GMT +1. The time now is 08:35 AM.