Jump to content
This site uses cookies! Learn More

This site uses cookies!

armedunity.com uses cookies to improve user experience.

By continuing to use this site, you agree to allow us to store cookies on your computer.

chapaeff

Network solutions battle

Recommended Posts

Hi, i want to ask you about some network solutions. That means that you need to give minuses or pluses of this platform, based on your own experience. The main aim is Photon Bolt, Photon Server, UNET, RakNet (old unity networking). Also you can say about other platforms. Thanks.

Share this post


Link to post
Share on other sites

They all suck, create your own or extend from a low level socket library: Unity affords one for free no strings attached. You see... networking as you know is just sockets made up of multiple layers (6 in fact) following different protocols from low level reliable or unreliable TCP and UDP to high level HTML, FTP, SSL. Each connection sends and listens to sockets on specified ports, communicating either securely or being filtered by firewalls. Once you learn how to manipulate sockets inside out, you are then ready to talk about networking.

 

Truth is... every network library or "solution" as you people ironically call it on the Asset's store is crap in their own way. Why?

  1. Packet header size: Photon Server uses the largest packet header size which slows the network traffic ESPECIALLY with packet fragmentation... You have no idea. In each packet fragment, the insanely large packet is copied again and again alongside the data. Bolt follows the same stupidity, but offers the functionality to decrease the packet header size. Raknet... lets not get started with this pile of crap.  UNET offers concise header sizes, but still most flags in their headers are useless. Whats more, UNET offers a low level version that allows you to craft packets -- sadly you only have access to the top 2 layers, whereas the rest of the 4 layers are unaccessable. Why restrict layers? Because it makes life easier to not have to think about all the flags and configuration it goes into crafting each layer. Use a low level cross-compilable C based networking library like the ones here Please login or register to see this link.  and you reached networking heaven. Forge Networking Please login or register to see this link.  does exactly this, and is the winner in having the lowest packet sizes.
  2. Ports and Firewall bypassing: I'm sure you've all heard of NAT, network address translation right? Basically every router can route an external socket, translating it's public IP address (e.g 156.249.756) onto your personal subnet (255.255.255.0) so it looks like (192.168.*.*). Why is this so important? Because any socket enters your computer normally is blocked by your firewall unless it's IP is translated by your beloved router. So if you host a server, you want to make sure your netowrking "solution"  doesnt fuck up. 
  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...