C# 如何区分套接字对象
您好,我正在创建一个纸牌游戏,并使用System.Net和System.Net.Sockets类。我现在很难做的是弄清楚我将如何区分谁做了什么,以及将信息包发送给谁。例如,这里是事情发生的顺序C# 如何区分套接字对象,c#,sockets,tcp,system.net,system.net.sockets,C#,Sockets,Tcp,System.net,System.net.sockets,您好,我正在创建一个纸牌游戏,并使用System.Net和System.Net.Sockets类。我现在很难做的是弄清楚我将如何区分谁做了什么,以及将信息包发送给谁。例如,这里是事情发生的顺序 用户登录程序,并根据MySQL数据库检查凭据 用户可以创建一个游戏ID或游戏#,该ID或游戏也会根据数据库进行检查,以查看是否已经存在匹配的游戏ID,并允许他们加入游戏,或者如果没有游戏,则将数据插入数据库,并基本上等待另一名玩家加入(如果您想要在线游戏,请考虑服务器浏览器) 用户加入正在进行的游戏或创建
->user#1正在使用ID#1与user#2进行游戏
-->用户#1“玩牌”
--->仅将此信息发送给用户#2
我提前感谢您的帮助,如果我遗漏了一些有助于回答我的问题的内容,请告诉我
更新我一直在看其他人如何处理的例子,为每个用户或在本例中的游戏室跟踪单个插座。我应该为一个ClientSocket创建一个类并为其分配属性吗?您可以通过将每个连接添加到每个客户端的键值列表来跟踪,例如(伪代码):
字典游戏连接;
您知道它所属的gameId的每个移动,因此您可以使用它获取关联的连接/套接字,并将数据包写入该套接字
Dictionary<string gameId, socket gameIdConnection> gameConnections;