我正在用C#编写一个应用程序,需要处理传入的连接,但我之前没有做过服务器端编程。这引导我提出以下问题:
- 高backlog / 低backlog的优缺点是什么?为什么不应该将backlog设置为很大的数字?
- 如果我调用Socket.Listen(10),在10次Accept()之后,我是否需要再次调用Listen()?还是每次Accept()之后都必须调用Listen()?
- 如果我将backlog设置为0,并且假设两个人同时想连接我的服务器,会发生什么?(我在循环中调用Socket.Select并检查监听套接字的可读性,在处理第一个连接后,如果我再次调用Listen(),下一次迭代时第二个连接是否成功?)
提前感谢。