이 나쁜 프로그래밍입니까?나쁜 프로그래밍인가요?
DateTime dtExpire = DateTime.Now.AddSeconds(90);
while (client.Connected && DateTime.Now < dtExpire)
{
if (client.Available == 0) continue;
//or can also use: if (!networkStream.DataAvailable) continue;
dtExpire = DateTime.Now.AddSeconds(30);
//now do stuff with client via stream
}
클라이언트도 서버가 수신 메시지를 pocess을 기다릴 것보다 MOR 시간을 갖지 않음을 보장 할 것을 목표입니다. 물론이 코드는 Try/Catch 블록과 Using Stream 블록 내부에 있으므로 서버는 끊어진 연결이나 다른 소켓 예외를 정상적으로 처리합니다.
기본적으로 나는 이것을 처리하는 더 좋은 방법이 있는지 알고 싶습니다. 감사.
실제 질문과 관련이없는 막연한 네트워크 작업을 제외하면 TCP와는 아무런 관련이 없습니다. 여기서 사용하는 언어부터 시작하여 (C#?) –
당신은 무엇을하려하고 있습니까? – Ekk
코드 검토에 적합 할 수도 있습니다. – TMB