Thanks for the reply. Yeah, fast and scalable are two differnt things.
As I understand it (and my understanding may be wrong), but any socket server on Windows that is designed to be scalable really needs to use IOCP. For example, a C# app that uses async UDP (IOCP under the hood) is significantly more scalable than a trivial C app that simply uses WSARecv in a tight loop. When I say significant, I mean that, on identical hardware, the C# IOCP implementation will handle *eight* times as many packets per second before starting to drop them when compared to the C WSARecv implementation. That's a *huge* difference, and even huger when you take into account the inefficiencies of C# compared to straight C. Given the raw performance of C over C#, this means that an IOCP implementation of ENet would probably scale to 10x as many packets per second before dropping packets. Has anybody else looked into this? Thanks, Ryan ----- Original Message ----- From: "Uj" <[email protected]> To: "Discussion of the ENet library" <[email protected]> Sent: Thursday, December 17, 2009 5:05:41 AM GMT -05:00 US/Canada Eastern Subject: Re: [ENet-discuss] IOCP under Windows, and C# Hi, As far as I remember Enet is not using any IOCP, only send() and recv() UDP functions. It's designed to be fast, so I guess it makes sense to call recv() often since most of them are "usefull". Sorry I don't know any C# implementation. regards, Ju On Thu, Dec 17, 2009 at 3:47 AM, < [email protected] > wrote: Hi all, I'm new to Enet, so far I like what I see. But I have a few questions... For the server "peer", are IO Completion Ports utilized under Windows in the implementation? Also, does anybody know of any C# Enet implementation, either a direct port of ENet to C#, or else a PInvoke wrapper? I guess in theory a dll build of enet could be accssed via pinvoke via .Net on Windows and/or Mono under Linux / Mac (obviously different builds of the dll). In theory anyway... I know Enet has been ported to C# for a few commercial products, but none of them are open. Thanks in advance for any help with these... Rhino _______________________________________________ ENet-discuss mailing list [email protected] http://lists.cubik.org/mailman/listinfo/enet-discuss _______________________________________________ ENet-discuss mailing list [email protected] http://lists.cubik.org/mailman/listinfo/enet-discuss _______________________________________________ ENet-discuss mailing list [email protected] http://lists.cubik.org/mailman/listinfo/enet-discuss
