Hi Ted,
I don't really want to use Python myself, but I plan to support it if
someone wants to use it. Mainly, I plan on supporting C/C++ code, and
perhaps C# and some scripting languages like LUA to add the ability to
add plug-ins to the game server once it is released. The idea is that
once someone acquires the server, they can write their own plug-ins for
the server in the preferred language to extend the functionality of the
server.
Now, in relation to your points about TCP vs UDP, I think the answer
depends on each use-case. For my use-case, when the client only cares
to get the last message from the server, then I truly believe it will be
faster to use UDP as opposed to TCP, as if a message is lost in TCP, or
if the order of the messages that arrive is not correct in TCP, I
believe the TCP stack will queue any messages that it already has until
it can deliver all messages in order, and that, is something I do not want.
Also, thanks for the info. about the cost of marshalling the tuple - I
see now that Storm is not a good candidate for my real-time game
client-server use-case. Many thanks to you and everyone who was kind
enough to provide me with an answer and additional information; you all
just saved me a lot of fruitless effort - I am glad that I asked this
question before embarking on a prototype that used Storm...:)
Thanks,
Joe
On 6/9/2014 12:11 AM, Ted Dunning wrote:
If you read the replies on the SO question, you will find lots of
people refuting the "UDP is faster" mantra.
If you haven't already benchmarked Storm to determine the latency and
if you are thinking that you might want to use Python for message
handling, then you have already given up far more than what TCP might
cost you.
The simple act of marshaling a tuple is going to cost more than the
difference in many cases.
On Sun, Jun 8, 2014 at 8:14 PM, joe roberts
<carl.roberts.zap...@gmail.com <mailto:carl.roberts.zap...@gmail.com>>
wrote:
Based on this articles, it is.
http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/
http://stackoverflow.com/questions/47903/udp-vs-tcp-how-much-faster-is-it
http://www.diffen.com/difference/TCP_vs_UDP
http://www.skullbox.net/tcpudp.php.
The real-time game server that I am writing has use cases where
some packet loss is acceptable, and some cases where reliable
messages are needed (UDT), so for my particular use-cases, it is.
As I understand it, Netty offers, UDP, UDT, and TCP classes,
therefore, it provides what I need.
On 6/8/2014 11:07 PM, Ted Dunning wrote:
Why do you think that UDP is faster?
On Sun, Jun 8, 2014 at 6:27 PM, joe roberts
<carl.roberts.zap...@gmail.com
<mailto:carl.roberts.zap...@gmail.com>> wrote:
To make it faster!
On 6/8/2014 8:27 PM, Ted Dunning wrote:
On Sun, Jun 8, 2014 at 12:12 PM, joe roberts
<carl.roberts.zap...@gmail.com
<mailto:carl.roberts.zap...@gmail.com>> wrote:
Also, it seems Storm uses TCP via ZeroMQ by default -Is
that right? And if so, can it be switched to use UDP or
UDT instead, perhaps by replacing ZeroMQ with Netty?
Why would you want that?