//连接按钮
private void bt_Connect_Click(object sender, EventArgs e)
{
socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
socket.Connect(serverFullAddr); t = new Thread(new ThreadStart(RecevieMsg));
t.Name = "Recive Name";
t.IsBackground = true;
t.Start();
} //另个线程接收
private void RecevieMsg()
{
while (true)//利用socket阻塞,无限循环接收
{
socket.Receive(recevie);
}
}
但是在接收的时候若是弹出错误(比如对方服务器关闭或我的网线断了等情况),这时候我想启动timer去定时做一些事,但是不清楚为什么,在这个线程内没能启动timer成功,代码如下—>
private void RecevieMsg()
{
while (true)//利用socket阻塞,无限循环接收
{
try
{
socket.Receive(recevie);
}
catch
{
socket.close();
timer1.Start();//明明读过去了,但程序不去执行timer里面的内容
break;
}
}
}如何在RecevieMsg()的cacth中启动timer成功
PS:我用的timer控件
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货