【发布时间】:2011-09-23 13:53:26
【问题描述】:
我是 C# 新手,如有任何帮助/反馈,我们将不胜感激。我试图在 C# 中开发一个客户端-服务器程序,但是我确实有不同的客户端向服务器端发送信息。有没有类似c语言select()的函数,可以帮助C#中的每个客户端获取所有信息?
这是我的服务器端代码:
// 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();
【问题讨论】:
-
你使用什么协议? TCP/UDP/...?你还试过什么?你能显示一些代码吗?
-
我使用的是TCP协议。代码示例见上面
标签: c# network-programming client-server