Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 套接字连接是否应该保持打开状态,是否需要管理员权限?_C#_.net_Sockets_Tcp_Udp - Fatal编程技术网

C# 套接字连接是否应该保持打开状态,是否需要管理员权限?

C# 套接字连接是否应该保持打开状态,是否需要管理员权限?,c#,.net,sockets,tcp,udp,C#,.net,Sockets,Tcp,Udp,我不熟悉套接字,对它们在.NET中的用法有几个问题。这是一个消费者程序,因此在用户运行服务器和客户端时不会出现任何扩展问题 1) 在服务器关闭之前保持套接字连接打开是更好的做法,还是应该仅在用户请求时打开连接并在完成后关闭?这不是一个实时游戏,所以请求可能是断断续续的,但是让套接字连接保持打开状态有什么不利之处吗 2) 套接字是否要求用户在运行服务器时具有管理员权限?我环顾四周,似乎原始套接字确实如此,但我计划使用Stream或Dgram,这取决于哪个最适合我的程序 如果你说的是一个插座,那没什

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

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

2) 套接字是否要求用户在运行服务器时具有管理员权限?我环顾四周,似乎原始套接字确实如此,但我计划使用Stream或Dgram,这取决于哪个最适合我的程序

  • 如果你说的是一个插座,那没什么大不了的 让它开着。有很多可用端口,如果您的 套接字正处于等待状态,它将消耗 可忽略的系统资源量
  • TCP和UDP套接字连接不需要管理员权限即可打开。 但是,根据用户的防火墙设置,防火墙 可能需要例外情况才能允许您的应用程序进行更改 外部连接,取决于可能的防火墙软件 或者可能不需要管理员权限

  • 谢谢你的回复。这将是一个最小数量的连接(最多3-5个,但通常只有1个),它们都连接到同一个端口。虽然用户可以选择其端口号,但作为默认值,我的程序是否可以使用任何列为非官方的可用端口?从技术上讲,你可以使用任何你喜欢的端口,这被认为是不礼貌的。特别是如果它是一个定期与一种服务类型关联的端口。但是,是的,任何非官方港口都可以。