【发布时间】:2014-06-30 15:45:59
【问题描述】:
我使用 c# 创建一个 TCP 服务器来连接到 iOS 设备。但是,我发现它一次只能接受一台 iOS 设备。我无法弄清楚是什么问题。谁能看看有什么问题?
IPAddress ipadr = IPAddress.Parse(localIP);
System.Net.IPEndPoint EndPoint = new System.Net.IPEndPoint(ipadr, 8060);
newsock.Bind(EndPoint);
newsock.Listen(10);
client = newsock.Accept();
IPEndPoint clientip = (IPEndPoint)client.RemoteEndPoint;
while (true)
{
if (!isDisConnected)
{
data = new byte[1024];
recv = client.Receive(data);
if (recv == 0)
break;
string receivedText = Encoding.ASCII.GetString(data, 0, recv);
}
client.Close();
newsock.Close();
【问题讨论】:
-
client = newsock.Accept();创建线程后,将剩下的工作委托给它并再次调用 Accept。使用异步方法newsock.BeginAccept可以是另一种选择。