2014-10-22 2 views
1

지속적으로 풀링하는 대신 TCPClient를 통해 전송되는 문자열을 잡으려고 streamreader를 사용하려고 시도하지만 루프 1을 통과합니다.While 루프가 멈추는 동안 Streamreader가 발생했습니다.

private void recMessage() 
    { 
     while (true) 
     { 
      String listAsString = ""; 
      try 
      { 
       listAsString = streamReader.ReadLine(); 
      } 
      catch (Exception e) 
      { 
       Interaction.MsgBox("Lost connection with server./n/n" + e); 
       break; 
      } 


      newSprite(listAsString); 

      } 
     } 
    } 
listAsString = streamReader.ReadLine에 일시

보인다();

어떤 아이디어?

감사

제임스

답변

1

ReadLine 블록 충분한 데이터가 도착 또는 스트림이 끝날 때까지. 그 사실을 당신의 코드로 처리하십시오. 아마도 IO를 백그라운드 스레드로 이동해야합니다. 또는 더 나은 방법은 await입니다.

관련 문제