繁体   English   中英

C#中的异步套接字 - 了解您的客户

[英]Async Sockets in C# - Knowing your clients

我确信这有一个简单的解决方法,但是现在我似乎无法找到一个优雅的解决方案。 我已经构建了一个ASync C#服务器应用程序,它接受多个客户端并很好地处理它们,但是为了继续,我需要能够确定哪些客户端连接到我的服务器(将只有两个客户端,它们都做不同的事情)。

当我的程序接受这些客户端时,我希望服务器知道客户端地址,并指示哪个客户端可能存储在一个小列表中。

所以我想我要问的是,有一个简单的方法,当客户端连接时,向服务器发送预定义的消息,让它知道客户端应用程序到哪个地址?

谢谢

有很多方法。

最简单的方法之一是为每个客户端应用程序提供不同的端口。 另一种方式是“连接”(在TCP握手之后)是在交换任何数据之前发送标识应用程序的消息。 另一种选择是为每个请求/回复添加标题,说明应用程序并存储它。

您可以通过套接字自由发送所有类型的数据。

要解决这个问题,请在客户端和服务器之间创建一些协议。

例如,在连接时发送第一条消息以将客户端标识到服务器。 从那以后继续这两者之间的正常对话。

服务器可以接受显示它的消息和存储,甚至在第一条消息不包含约定信息时拒绝客户端。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM