C# 如何使用套接字(状态对象)
我正在学习套接字,以及如何为服务器和客户端创建代码 (顺便说一句,我正在做异步服务器和客户端套接字) 我真正不明白的是,当一个新的客户端连接到服务器时,我创建了一个新的StateObject。这是一个自定义类,包含一些字段,如实际套接字和缓冲区(指定长度的字节[])C# 如何使用套接字(状态对象),c#,sockets,asynchronous,C#,Sockets,Asynchronous,我正在学习套接字,以及如何为服务器和客户端创建代码 (顺便说一句,我正在做异步服务器和客户端套接字) 我真正不明白的是,当一个新的客户端连接到服务器时,我创建了一个新的StateObject。这是一个自定义类,包含一些字段,如实际套接字和缓冲区(指定长度的字节[]) 所以,只要客户端已连接,我就必须继续检查状态对象的这个实例,还是不需要 接收完成后是否关闭插座(这是两种方法) 如何创建所有客户端的列表?我必须创建这些状态对象的集合吗 -- 我这么问是因为我不太了解异步套接字的真正工作原理,即
- 所以,只要客户端已连接,我就必须继续检查状态对象的这个实例,还是不需要
- 接收完成后是否关闭插座(这是两种方法)
- 如何创建所有客户端的列表?我必须创建这些状态对象的集合吗
- 在服务器端(当新数据出现时)
- 在客户端(当新数据到达时)
Mitja听起来像是在使用.Net 4.5之前的API。如果你重视你的理智,考虑学习Asic/Acess,因为它使得像国家这样的问题变得更容易管理。不,我不使用任何类似的东西。我只是尝试使用异步服务器和客户端套接字。但是我努力学习所有这些方法是如何工作的——当BeginXXX方法工作时。请注意,Receive方法实现了AsyncCallback委托,因此我认为您不需要显式跟踪state对象的实例。所有状态对象的集合将帮助您确定客户端。检查