socket连接是否应保持打开状态并且是否需要管理员权限?

时间:2013-01-24 03:05:46

标签: c# .net sockets tcp udp

我是套接字的新手,对.NET中的用法有几个问题。这是一个消费者程序,因此用户运行服务器和客户端时不会出现任何扩展问题。

1)在服务器关闭之前保持套接字连接打开是否更好,或者我应该仅在用户请求时打开连接并在完成时关闭它?这不是一个实时游戏,所以请求是间歇性的,但是有没有任何缺点让套接字连接保持打开状态?

2)套接字是否要求用户在运行服务器时拥有管理员权限?我环顾四周,似乎RAW套接字确实如此,但我打算使用Stream或Dgram取决于哪种方法最适合我的程序。

1 个答案:

答案 0 :(得分:1)

  1. 如果你在谈论单个插座,那么不是没有什么大不了的 把它打开。有很多可用的端口,如果你的 socket只是处于等待状态,它会消耗掉一个 可忽略不计的系统资源。
  2. TCP和UDP套接字连接不需要管理员权限即可打开。 但是,根据用户的防火墙设置防火墙 可能需要例外以允许您的申请 外部连接,取决于可能的防火墙软件 或者可能不需要管理员权限。