我正在学习套接字,以及如何为服务器和客户端创建代码。
(顺便说一句,我正在做异步服务器和客户端套接字)。
我不太明白的是,当一个新的客户端连接到服务器时,我创建了一个新的 StateObject。这是一个包含一些字段的自定义类,例如实际的 Socket 和缓冲区(指定长度的字节 [])。
那么,只要客户端已连接,我是否必须继续跟踪状态对象的此实例,或者我不需要?
接收完成后 Socket 是否被 Shutdown 和 Closed(这是两种方法)?
如何创建所有客户的列表?我是否必须创建这些状态对象的集合?
--
我问是因为我并不真正了解异步套接字的真正工作,即使我花了几天时间。
如果我确实创建了这些状态对象的列表,并且在 foreach 循环中尝试将数据发送给每个对象(实际上是一个接一个),那么令人困惑的是(实际上仍然如此),它只是没有发送.
--
添加:
通过创建一个 T 将是 Socket 类的 List 来跟踪所有客户端是否足够?状态对象呢?是否仅在传递数据时使用:
在服务器端(当新数据到达时);
在客户端(当新数据到达时)。
提前谢谢你的答案。
米贾