解决方案 »

  1.   

    发送的数据错误,对方没有响应,所以接收不到返回信息
    你应该设置ReadTimeOut,让它超时就抛个异常,而不是永远阻塞在Read方法里
      

  2.   


    唉,小火囝,TCP不是这么玩地。建议你看看这文章
    http://www.cnblogs.com/xiaozhi_5638/p/4244797.html
      

  3.   


    NetworkStream streamToServer = tcp.GetStream();
    StreamWriter sw = new StreamWriter(ns);
    StreamReader sr = new StreamReader(ns);sw.WriteLine(WeightQuest, 0, WeightQuest.Length);
    sw.Flush();//一定要FlushTextBox1.Text = sr.ReadLine();
      

  4.   


    NetworkStream streamToServer = tcp.GetStream();
    StreamWriter sw = new StreamWriter(ns);
    StreamReader sr = new StreamReader(ns);sw.WriteLine(“此处为你要写入的内容”);
    sw.Flush();//一定要FlushTextBox1.Text = sr.ReadLine();
      

  5.   


    我发送的数据是把"S"转换成了字节数组形式后再发送的,跟telnet发送的命令一样。另外我设置了ReadTimeOut之后,返回给我的错误信息是:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
    public static Byte[] WeightQuest = System.Text.Encoding.UTF8.GetBytes("S");我的这个服务器,开始只有com1端口是RS232的后来给改成的以太网形式的。不知道跟这有没有关系。请指教,谢谢
      

  6.   


    你确定你的 Telenet  默认的字符编码是 utf8 吗?
    你打入S之后没有碰任何键(例如敲一下回车键)吗?
      

  7.   


    我加了这条streamToServer.Flush();,也还是不行
      

  8.   

    另外,streamToServer.Flush()是应该有的。
      

  9.   


    你确定你的 Telenet  默认的字符编码是 utf8 吗?
    你打入S之后没有碰任何键(例如敲一下回车键)吗?
    敲回车键了,那我发送的数据就要是 S和回车键?是这样吧
      

  10.   


    你确定你的 Telenet  默认的字符编码是 utf8 吗?
    你打入S之后没有碰任何键(例如敲一下回车键)吗?
    TcpClient tcp = new TcpClient();
            try
            {
                tcp.Connect(WwendPoint1);
            }
            catch (Exception ex)
            {
                Response.Write(ex);
            }        if (tcp.Connected)
            {
                NetworkStream streamToServer = tcp.GetStream();
                byte[] WeightQuest = { 83,13 }; //"S"对应83  回车键对应13
                streamToServer.Write(WeightQuest, 0, WeightQuest.Length);
                byte[] weightGet = new byte[16];
                streamToServer.Flush();
                streamToServer.ReadTimeout = 5000;
                streamToServer.Read(weightGet, 0, weightGet.Length);
                float weight = DoWeightData(weightGet);
                TextBox1.Text = weight.ToString();
            }
            tcp.Close();
    发送的数据中我添加了回车键,发送之后还是不行。还有就是请问我怎么判断我的telnet的编码格式呢?