說我有一個TcpClient,我接受來自TcpServer在C#中,出於某種原因它保持默認阻止。有沒有其他的力量可以改變套接字阻塞的設置?就像說它受遠程連接的影響?c#套接字阻止
我知道我設置了阻塞來恢復一些構建,但我改變了它,甚至引入了TcpClient而不是直接套接字。我沒有特別改變阻塞爲真,我只是評論阻塞=錯誤。這種情況可能與端點一直存在嗎?
我不知道,但似乎有一天,我的套接字在沒有任何真正的代碼變化的情況下變得不穩固。
public void GetAcceptedSocket(TcpClient s)
{
try
{
sock = s;
IPEndPoint remoteIpEndPoint = s.Client.RemoteEndPoint as IPEndPoint;
strHost = remoteIpEndPoint.Address.ToString();
intPort = remoteIpEndPoint.Port;
ipEnd = remoteIpEndPoint;
sock.ReceiveTimeout = 10000;
boolConnected = true;
intLastPing = 0;
LastPingSent = DateTime.Now;
LastPingRecieved = DateTime.Now;
handleConnect(strHost, intPort);
oThread = new Thread(new ThreadStart(this.run));
oThread.Start();
}
catch (Exception e)
{
handleError(e, "Connect method: " + e.Message);
}
}
嘿,我問了一個主持人,他們讓我投我自己的帳篷。所以不要低估我。 – 2011-12-27 01:26:39