C# 套接字服务器:管理客户端连接

C# 套接字服务器:管理客户端连接,c#,.net,sockets,asyncsocket,C#,.net,Sockets,Asyncsocket,我想知道如何为套接字服务器实现客户端管理 我想知道客户机是刚刚重新连接还是新客户机。我知道,不应该这样。不过,它只是一个临时服务器,只能使用几个小时 我在考虑让每个客户机向服务器传递自己的GUID。一旦服务器“识别”了一个客户机,它就可以摆脱该客户机以前保持的连接 你将如何处理这个问题?还是完全不适合这样 谢谢大家! 如果使用TCP/IP,则可以使用IP地址和端口来唯一标识客户端。及 您可以在断开连接事件后解除连接。 若IP地址和端口不足以唯一标识客户端,则可以使用GUID。同样,在许多情况下,

我想知道如何为套接字服务器实现客户端管理

我想知道客户机是刚刚重新连接还是新客户机。我知道,不应该这样。不过,它只是一个临时服务器,只能使用几个小时

我在考虑让每个客户机向服务器传递自己的GUID。一旦服务器“识别”了一个客户机,它就可以摆脱该客户机以前保持的连接

你将如何处理这个问题?还是完全不适合这样


谢谢大家!

如果使用TCP/IP,则可以使用IP地址和端口来唯一标识客户端。及 您可以在断开连接事件后解除连接。
若IP地址和端口不足以唯一标识客户端,则可以使用GUID。同样,在许多情况下,使用TCP/IP,您可以在断开连接事件后摆脱连接。

谢谢,我想进一步介绍一下这种方法。只有当服务器被告知每个客户端的GUID时,这才有意义。因此,我需要从
Socket
派生并添加GUID。但是,我在处理来自套接字的所有方法时遇到了麻烦,这些方法返回一个
Socket
的实例。我的意思是,您不应该从Socket继承,而是应该创建自己的类,该类保存Socket和GUID。或者,您的服务器类可能包含字典,其中套接字作为键,GUID作为值。好的,我明白这一点。不过,我的目标是在与服务器连接(使用GUID)时识别每个客户机。我想我可以在连接时将GUID作为第一条消息发送。我看不出有其他方法可以做到这一点,是吗?谢谢你的意见!例如,在WCF中,每个会话也绑定GUID,所以我认为这或多或少是一种常见的方法。