• C#| how to make a tcp or udp sockets for Mmo or any other use :)
    42 replies, posted
  • [QUOTE=Map in a box;34734267]FYI: TCP is somewhat more "secure" than UDP. It is harder to spoof your IP with TCP.[/QUOTE] this can be solved in udp with a good old fashioned handshake
  • I realize this is probably a troll, but SC2 uses a static latency and everyone ticks the same. If they introduced LAN today and kept the same net code, it would still feel like you're playing on NA.
  • [QUOTE=swift and shift;34750543]this can be solved in udp with a good old fashioned handshake[/QUOTE] If only it were that easy.
  • [QUOTE=Map in a box;34752268]If only it were that easy.[/QUOTE] Well that's basically all you need to figure out if your source IP is valid.
  • Besides the other faults in this "tutorial", I'm not downloading an OCX from the internet if I don't know where it came from.
  • [QUOTE=ROBO_DONUT;34725982]The reason you should never use TCP for games is because the protocol was devised under assumptions that do not hold true for real-time applications.[/QUOTE] Not all games have the real-time requirement (and indeed, not [I]all[/I] parts of many "real-time" games have the requirement). Saying that TCP should never be used for games is pretty damn idiotic. It's potentially damaging to anyone who doesn't (yet) understand the rest of your post, as the context of the statement is lost.
  • [QUOTE=jA_cOp;34760611]Not all games have the real-time requirement (and indeed, not [I]all[/I] parts of many "real-time" games have the requirement). Saying that TCP should never be used for games is pretty damn idiotic. It's potentially damaging to anyone who doesn't (yet) understand the rest of your post, as the context of the statement is lost.[/QUOTE] You're saying it's my fault that people could misconstrue my post? That doesn't seem quite fair. I say "real-time" about a dozen times. Obviously very little of my argument is going to be applicable if you're writing an Advance Wars clone or something...
  • [QUOTE=gparent;34756118]Well that's basically all you need to figure out if your source IP is valid.[/QUOTE] You make it sound so easy. For example, it was a big exploit with the Source Engine, people could run commands under any player. A fix was a handshake at the beginning that gave a "key" that was attached to all packets. You can't really verify the actual source IP, but you could do something like that, but you still wouldn't be safe from man in the middle attacks.
  • [QUOTE=Map in a box;34760991]You make it sound so easy. For example, it was a big exploit with the Source Engine, people could run commands under any player. A fix was a handshake at the beginning that gave a "key" that was attached to all packets. You can't really verify the actual source IP, but you could do something like that, but you still wouldn't be safe from man in the middle attacks.[/QUOTE] TCP isn't safe from man-in-the-middle attacks, either. You still need crypto/auth whenever security matters.
  • [QUOTE=ROBO_DONUT;34760851]You're saying it's my fault that people could misconstrue my post? That doesn't seem quite fair. I say "real-time" about a dozen times. Obviously very little of my argument is going to be applicable if you're writing an Advance Wars clone or something...[/QUOTE] It wouldn't be misconstruing your post, it would be reading it literally. You are clearly saying you should never use TCP for games.
  • [QUOTE=jA_cOp;34761784]It wouldn't be misconstruing your post, it would be reading it literally. You are clearly saying you should never use TCP for games.[/QUOTE] You're getting back to the core of my argument. The issue is that people apply solutions without carefully considering the assumptions that were made during their formulation. This applies to TCP, since people use it as a one-size-fits-all solution when it makes certain assumptions about your usage which may not hold true, and to my argument against TCP, which operates on the premise that games have real-time constraints (most do, but some don't). People shouldn't blindly apply solutions without fully understanding them first. If they can't do this, if they think I'm telling them that they should 'always use UDP', then they're going to screw themselves regardless of what I say.
  • I know, but I'm saying that it's harder to modify the source IP under TCP if you aren't fast enough.