我是 C# 新手,如有任何帮助/反馈,我们将不胜感激。我正在尝试用 C# 开发一个客户端-服务器程序,但是我确实有不同的客户端向服务器端发送信息。 C#有没有类似c语言select()的函数,可以帮助获取各个客户端的所有信息?
这是我的服务器端代码:
// Create the listening socket...
m_mainSocket = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
IPEndPoint ipLocal = new IPEndPoint(IPAddress.Any, 9051);
// Bind to local IP Address...
m_mainSocket.Bind(ipLocal);
// Start listening...
m_mainSocket.Listen(10);
Socket clientSock = m_mainSocket.Accept();
byte[] clientData = new byte[1024];
int receivedBytesLen = clientSock.Receive(clientData);
string clientDataInString =
Encoding.ASCII.GetString(clientData, 0, receivedBytesLen);
string clientStr = "Client Data Received: " + clientDataInString;
byte[] sendData = new byte[1024];
sendData = Encoding.ASCII.GetBytes(clientStr);
clientSock.Send(sendData);
clientSock.Close();
最佳答案
有更高级别的构造,但如果您想获得相当低的级别,您可能正在寻找 Socket.Accept:
http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.accept.aspx
关于c# - C# 中的 select() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7530055/