【问题标题】:Should socket connection stay open and do they require admin rights?套接字连接是否应该保持打开状态,它们是否需要管理员权限?
【发布时间】:2013-01-07 17:33:39
【问题描述】:

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

1) 在服务器关闭之前保持套接字连接打开会更好,还是应该仅在用户请求时打开连接并在完成后关闭它?这不是实时游戏,所以请求会是断断续续的,但是让套接字连接保持打开状态有什么缺点吗?

2) 如果用户运行服务器,套接字是否要求用户具有管理员权限?我环顾四周,似乎 RAW 套接字可以,但我计划使用 Stream 或 Dgram 来代替,这取决于哪个最适合我的程序。

【问题讨论】:

    标签: c# .net sockets tcp udp


    【解决方案1】:
    1. 如果您说的是单个套接字,那么不,这没什么大不了的 让它保持打开状态。有很多可用的端口,如果您的 套接字只是处于等待状态,它将消耗一个 系统资源的数量可以忽略不计。
    2. TCP 和 UDP 套接字连接不需要管理员权限即可打开。 但是,根据用户的防火墙设置,防火墙 可能需要例外以允许您的应用程序进行 外部连接并取决于防火墙软件可能 或者可能不需要管理员权限。

    【讨论】:

    • 感谢您的回复。这将是最少数量的连接(最多 3-5 个,但通常只有 1 个),并且它们都连接到同一个端口。虽然用户可以选择他们的端口号作为默认值,但我的程序可以使用任何列为非官方的可用端口吗? en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
    • 从技术上讲,您可以使用任何您喜欢的端口,但这被认为是粗鲁的。特别是如果它是一个经常与某种服务相关联的端口。但是,是的,任何非官方端口都应该没问题。
    猜你喜欢
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    相关资源
    最近更新 更多