FriendUP HQ

Please visit the main source of project information on the FriendUP website:

Welcome to the Friend Network

Welcome to the Friend Developers Forum! Forums Friend Network Welcome to the Friend Network

This topic contains 0 replies, has 1 voice, and was last updated by  francois 1 year, 6 months ago.

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #666

    francois
    Keymaster

    Welcome to this forum, dedicated to Friend Network.

    What is Friend Network?
    Friend Network is our latest addition to the Friend platform. It enables any application to connect to another -or the same- application on another Friend computer and exchange data. Up to now, programming and handling network communication has been difficult, and implied a lot of code. These times are over since today, when we have released the first version of Friend Network in V1.0.0 of the FriendUp system.

    How does it work?
    Friend Network allows your Friend application to become a ‘host’. A host has a name (like ‘this is my host’, ‘Welcome’ or any other descriptive name you can find). To create a Friend Network host from your Javascript application, just use the FriendNetwork.host(hostName [,password]) function. Once the host has been created, every user connected to the (for the moment) same domain will be able to discover your host using the FriendNetwork.list() command, that returns an array of available hosts.
    To establish a connection, the client only has to call FriendNetwork.connect(hostName). He will get in return a key and message asking for the credentials, that he will send back using the FriendNetwork.sendCredentials(key, ‘password’). The password is then encoded using the public key of the host and sent through the network. If the password is correct, both sides receive a message indicating the new connection.
    Sending a message, or data is easy. Just use FriendNetwork.send(key, data) and voila! The other side will receive a message containing the data you just sent.
    To close a connection from the client side, use FriendNetwork.disconnect(key). The host will receive a message indicating that the connection has been closed by the client.
    To close a host, use FriendNetwork.dispose(hostKey), and all the clients will receive a message indicating that the host has been closed.
    There is not much more to say on the FriendNetwork API, just a couple of instructions and messages that do the job. We have worked hard to make the system as simple and as secured as possible. Please refer to the developer documentation for a complete list of commands.

    The future of Friend Network.

    Peer-to-peer
    V1.0.0 of Friend only allows normal connections, that goes through a server. They are already fast as the entire Friend system works with WebSockets, like many online multiplayer games available today. The next version will allow you to establish, using the same instructions set, real direct peer-to-peer connections, leaving the middle-man, the server, aside.
    Peer-to-peer connections go through the ‘tubes’ of Internet without passing by any server at all. The data is sent directly to the host or client at a amazingly fast speed. WebRTC and all the applications based around it, like Friend Chat, are a perfect example of the power of the system.
    What will be the advantages for you, the developer?
    You will be able to create multiplayer online games in a fraction of the time necessary on other platforms, and they will work better due the reduction of the ping time between host and client. You will be able to send to the distant side video streams, large files, massive amount of text much faster than with normal server-based connection.

    Open to the world.
    Friend Network is, for the moment, restricted to the same domain name. We are working on connecting the Friend servers themselves together, in order to build a real world-wide network. It means that you will be able in a near future to discover a massive amount of hosts from all around the world and connect with them. You will be able to ‘open’ a directory with images to anyone who wants to connect, with or without password in one click. You will be able to control a distant machine from your own shell, this option being available today on the same domain only. You will be able to collaborate on the same project with Friend Network implementation on Friend Create.

    Still on the road-map:
    – peer-to-peer connections, for very soon
    – ability to force encryption of all the data transmitted, using the public key of each side
    – evaluation the ping time between host and client
    – interconnection of the Friend servers
    – online game API based on Friend Network, with automatic update of players coordinates and actions, transmission of sound and videos, leader-boards, achievements, in-game shops using transactions etc.
    – implementation of Friend Network in the major Friend applications like Friend Create

    We are all at Friend very excited about what you will produce with this amazing tool and technology. Please ask any question you have in mind, post your comments, good or bad, publish your connected applications and code here. We are here to help you create wonderful cross-platform, fast, interconnected applications and games.

    • This topic was modified 1 year, 6 months ago by  francois.
    • This topic was modified 1 year, 6 months ago by  francois.
    • This topic was modified 1 year, 6 months ago by  Hogne Titlestad.
    • This topic was modified 1 year, 6 months ago by  Hogne Titlestad.
Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.

Comments are closed.