本帖最后由 ytomc0725 于 2011-04-20 14:25:19 编辑

解决方案 »

  1.   

    TcpClient client = server.AcceptTcpClient();//开始监听
    while (true)
    {
         byte[] recvBytes = new byte[4096];
         int bytes;
         bytes = client.GetStream().Read(recvBytes, 0, recvBytes.Length);
         //处理代码     //判断是否跳出循环

    client.Close();不过按照你上面的写法也应该可以的,也许你的设备没有2秒发一次吧
      

  2.   

    用TCP&IP测试工具,可以正常连通,并且2秒接收到1包(8字节)
    但是用C#的程序就变成1分钟接收一次了,而且接收到的是几十个字节
    请教高手啊
      

  3.   


    TcpListener server = new TcpListener(IPAddress.Parse("xxx.xxx.xxx.xxx"), xx);
         TcpClient client = server.AcceptTcpClient();//开始监听
    while (true)
    {
         byte[] recvBytes = new byte[4096];
         int bytes;
         bytes = client.GetStream().Read(recvBytes, 0, recvBytes.Length);
    }
         client.Close();
    监听当一次长连接,放到循环外面就可以了