【发布时间】:2014-03-19 13:11:00
【问题描述】:
我必须为游戏开发一个使用 TCP 套接字的服务器应用程序。在 SO 的帮助下,我一直在做一些研究,看看哪种技术最适合我的需求。
目前我有两个选择。即在 C# 中使用 SocketAsyncEventArgs 或使用 NodeJS 和 Socket.IO 创建服务器应用程序。
我会选择 NodeJS,因为我想他们已经完成了所有艰苦的工作并优化了他们的套接字库。所以我所要做的就是简单地使用它,也许稍微调整一下。
但我的主要问题是,NodeJS 是否足够好?
服务器需要是高性能的套接字应用程序。我知道当我使用 C# 时我可以得到很好的结果。但是 C# Socket 类或 NodeJs Socket.IO 之间真的有很大区别吗?我应该对 NodeJS 期望更少吗?
我找不到有关 Winsock 与 NodeJS/Socket.IO 的任何信息。所以我希望这里的任何人都对这两个有任何了解。当你比较它们时,我可以从这两者中得到什么。
有关服务器将要做什么的一些附加信息。
服务器基本上会将数据从一个客户端传递到另一个客户端。问题是一个客户端每秒会向服务器发送30 到40 的小数据包(~300 字节)。服务器会将每个请求发送给另一个客户端。但与此同时,其他客户端每秒将发送相同数量的数据。
服务器只是两个客户端之间的某种中介。同时,服务器可以连接大约 500 对客户端。都是通过服务器互相发送数据。这就是为什么我需要一个性能良好的套接字应用程序。我认为 CPU 在我的情况下不会有问题,因为它不会进行任何繁重的计算。
【问题讨论】:
标签: c# node.js sockets socket.io