2014-05-05 137 views
-2

我是新来的套接字编程,我试图做一个简单的套接字登录。 服务器有一个用户名和密码列表,客户端通过发送带有用户名和密码的请求进行连接。 如果他成功登录,我想保存一个新的会话,以便他可以使用更多命令... 如何为每个客户端保存一个会话? 谢谢你的帮助! :)多套接字连接TCP C#

+1

制作一组值?你有什么尝试? – gunr2171

回答

2

这取决于你的连接是否保持对整个会话打开,或者客户端是否会打开/关闭整个连接(如Web服务器如何工作)。

在第一种情况下,您可以简单地保存状态数据以及对连接的套接字对象的引用。

在第二种情况下,您需要为每个客户端提供一个唯一标识符(会话ID),该标识符可以是服务器端包含状态数据的字典中的关键字。

如果这只是一个学习套接字的实验,那么这应该让你去。请记住,如果你正在“为了真实”(在互联网上)这么做,那么安全问题就远远不止是会话ID。

+0

这是一个实验,以了解套接字.. 我想第二个选项,但我不知道如何为每个客户端做一个唯一的标识符,我试着做一个“会话”计数器,然后当用户登录后,使用会话计数器创建一个会话对象,然后我想检查例如 - 如果会话处于活动状态,则允许他做更多...为了做到这一点,我需要以某种方式检查他会话ID在运行... – user3604597

+0

我想了很多:)玩得开心! –

+0

如何保存每次新客户端连接时都不会重置的唯一标识符?我试图将用户名和他的会话ID保存到一个“会话”对象中,问题是如果我同时打开两个客户端,并且一个连接,那么第二个客户端也可以完成与他连接的相同的事情尽管他不是) – user3604597