有什么方法可以使我在使用套接字制作的C#客户端-服务器应用程序中获得所有已连接的客户端吗?
您将获得多个连接的唯一位置是侦听器。最好的方法是使用异步侦听器,并在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;