//监听是否有挂起
 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个客户端发过来的数据,有时候就监听不到了!