当我点击按钮后这个线程应该是始终在运行的,但为什么我感觉只运行一次呀
我后面增加进去的数据,线程应该读出来才对.可为什么只能读出点击时候的数据.
不明白,能不能讲一下线程的机制./
private void button1_Click(object sender, System.EventArgs e)
{
try
{
sk.Connect(ip);
tm.Enabled=true;
lb.Text="提交成功";

System.Threading.Thread th=new Thread(new ThreadStart(read));
th.Start();
}
catch(Exception ex)
{
   lb.Text=ex.Message;

}
}
public void read()
{
NetworkStream str = new NetworkStream(sk);
if(str.CanRead)
{
byte[] red = new byte[1024];
String mes = "";
int num = 0;
//while (true)
//{
if(str.DataAvailable)
{
num = str.Read(red, 0, red.Length);  

mes = String.Concat(mes, Encoding.Default.GetString(red, 0, num));  
}
//}
txt1.Text=txt1.Text+"\n"+mes;
//txt1.Text=mes;
//str.Close();

}
}