//监听是否有挂起
if (tcplistener.Pending())
{
TcpClient tcp = tcplistener.AcceptTcpClient();
stream = tcp.GetStream(); try
{
IFormatter formatter = new BinaryFormatter();
car = (CarDataInfo)formatter.Deserialize(stream);
this.Invoke((EventHandler)(delegate
{
string Cnumber = car.CarNumber;//得到车辆的编号;
}));
}
catch (Exception e)
{
if (e.Message != "在分析完成之前就遇到流结尾。")
{
MessageBox.Show(e.Message, "错误");
}
}
finally
{
stream.Flush();
stream.Close();
tcp.Close();
}
}//发送消息
TcpClient cl = new TcpClient();
try
{
if (carinfo.CarNumber == CarNumberOne)
{
cl.Connect(carinfo.CarIp, carport1);
stream = cl.GetStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, tpi);
}
else
if (carinfo.CarNumber == CarNumberTwo)
{
cl.Connect(carinfo.CarIp, carport2);
stream = cl.GetStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, tpi);
}
else
if (carinfo.CarNumber == CarNumberThree)
{
cl.Connect(carinfo.CarIp, carport3);
stream = cl.GetStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, tpi);
}
else
if (carinfo.CarNumber == CarNumberFour)
{
cl.Connect(carinfo.CarIp, carport4);
cl.GetStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, tpi);
}
return true;
}
catch (Exception e)
{
MessageBox.Show("与车车辆信息链接失败正在重新链接!", "提示");
if (sendMessage(tpi, carinfo))
{
return true;
}
else
return false;
}
finally
{
if (stream != null)
{
stream.Flush();
stream.Close();
}
cl.Close();
}
我这个是开启一个监听,但是我要监听到4个客户端发过来的数据,有时候就监听不到了!
if (tcplistener.Pending())
{
TcpClient tcp = tcplistener.AcceptTcpClient();
stream = tcp.GetStream(); try
{
IFormatter formatter = new BinaryFormatter();
car = (CarDataInfo)formatter.Deserialize(stream);
this.Invoke((EventHandler)(delegate
{
string Cnumber = car.CarNumber;//得到车辆的编号;
}));
}
catch (Exception e)
{
if (e.Message != "在分析完成之前就遇到流结尾。")
{
MessageBox.Show(e.Message, "错误");
}
}
finally
{
stream.Flush();
stream.Close();
tcp.Close();
}
}//发送消息
TcpClient cl = new TcpClient();
try
{
if (carinfo.CarNumber == CarNumberOne)
{
cl.Connect(carinfo.CarIp, carport1);
stream = cl.GetStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, tpi);
}
else
if (carinfo.CarNumber == CarNumberTwo)
{
cl.Connect(carinfo.CarIp, carport2);
stream = cl.GetStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, tpi);
}
else
if (carinfo.CarNumber == CarNumberThree)
{
cl.Connect(carinfo.CarIp, carport3);
stream = cl.GetStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, tpi);
}
else
if (carinfo.CarNumber == CarNumberFour)
{
cl.Connect(carinfo.CarIp, carport4);
cl.GetStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, tpi);
}
return true;
}
catch (Exception e)
{
MessageBox.Show("与车车辆信息链接失败正在重新链接!", "提示");
if (sendMessage(tpi, carinfo))
{
return true;
}
else
return false;
}
finally
{
if (stream != null)
{
stream.Flush();
stream.Close();
}
cl.Close();
}
我这个是开启一个监听,但是我要监听到4个客户端发过来的数据,有时候就监听不到了!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货