2014-10-22 118 views
1

我想使用streamreader来捕获通过TCPClient发送的字符串,但不是经常汇集,它只会通过循环一。Streamreader导致while循环停止

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