나는 TcpServer에서 받아 들일 수있는 TcpClient를 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);
}
}
이봐, 나는 사회자에게 물어 보았다. 그리고 그들은 나에게 내 자신의 awnser에 투표하라고했다. 그래서 나를 downvote하지 마십시오. –