我确信这有一个简单的解决方法,但现在我似乎无法找到一个优雅的解决方案。我已经构建了一个异步 C# 服务器应用程序,它接受多个客户端并很好地处理它们,但要继续,我需要能够确定哪些客户端连接到我的服务器(只有两个客户端都做不同的事情)。
当我的程序接受这些客户端时,我希望服务器知道客户端地址并指示哪个客户端可能存储在一个小列表中。
所以我想我要问的是,是否有一种简单的方法可以在客户端连接时向服务器发送预定义的消息,让它知道客户端应用程序去往哪个地址?
谢谢
我确信这有一个简单的解决方法,但现在我似乎无法找到一个优雅的解决方案。我已经构建了一个异步 C# 服务器应用程序,它接受多个客户端并很好地处理它们,但要继续,我需要能够确定哪些客户端连接到我的服务器(只有两个客户端都做不同的事情)。
当我的程序接受这些客户端时,我希望服务器知道客户端地址并指示哪个客户端可能存储在一个小列表中。
所以我想我要问的是,是否有一种简单的方法可以在客户端连接时向服务器发送预定义的消息,让它知道客户端应用程序去往哪个地址?
谢谢
您可以通过套接字自由发送各种数据。
为了解决这个问题,在客户端和服务器之间发明了某种协议。
例如,在连接时发送第一条消息以识别客户端到服务器。从那里继续这两个之间的正常对话。
服务器可以接受消息并存储显示它,甚至在第一条消息不包含约定信息时拒绝客户端。
有很多方法。
最简单的方法之一是为每个客户端应用程序设置不同的端口。另一种方式是为了“连接”(在 TCP 握手之后)是在交换任何数据之前发送一条标识应用程序的消息。另一种选择是为每个请求/回复添加标头,说明应用程序并存储它。