如何在System.net.sockets中获得所有已连接的客户端?

问题描述 投票:0回答:1

有什么方法可以使我在使用套接字制作的C#客户端-服务器应用程序中获得所有已连接的客户端吗?

c# sockets client-server
1个回答
0
投票

您将获得多个连接的唯一位置是侦听器。最好的方法是使用异步侦听器,并在accept方法中捕获套接字。代码示例如下。我在后续发布中从答案中获取了代码:GPS Socket communication (CONCOX)

               case PROCESS_STATE.ACCEPT:

                    acceptDone.WaitOne();
                    acceptDone.Reset();
                    stateObject = new StateObject();
                    stateObject.buffer = new byte[BUFFER_SIZE];
                    connectionDict.Add(connectionNumber, new KeyValuePair<List<byte>, StateObject>(new List<byte>(), stateObject));
                    stateObject.connectionNumber = connectionNumber++;

                    stateObject.workSocket = handler;

                    byteState = new KeyValuePair<List<byte>, StateObject>(null, stateObject);
                    acceptDone.Set();
                    break;
© www.soinside.com 2019 - 2024. All rights reserved.