guangtouhaky
guangtouhaky
2015-04-14 08:39
采纳率: 21.8%
浏览 1.8k

c#tcp协议通信问题,消息第一次发送无反应

先上代码
try
{
FileStream file = new FileStream(str0 + "\init1.txt", FileMode.Open);
for (int i = 0; (i * 18) < file.Length; i++)
{
file.Seek(i * 18, SeekOrigin.Begin);
file.Read(byData, 0, 18);
Decoder d = Encoding.Default.GetDecoder();
d.GetChars(byData, 0, byData.Length, charData, 0);
//SendMsgStart("shut", new string(charData).Substring(4, 12), "43680"); //udp消息发送
TcpClient tcpClient = new TcpClient();
tcpClient.Connect(IPAddress.Parse(new string(charData).Substring(4, 12)), Int32.Parse("43680"));
NetworkStream ns = tcpClient.GetStream();
ns.Write(bstart, 0, 6);
ns.Close();
tcpClient.Close();
}
file.Close();
其他的不管了,代码其实也可以不看。就是我第一次运行这个代码,对方机器没反应。对方机器无法测试是否获取信息。然后再次运行一下机器就做出正常反映了。对方机器udp协议通信正常,发送消息一次就能做出正常反映。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • devmiao
    devmiao 2015-04-14 10:55
    已采纳

    调试下,看看对方有没有开始监听端口

    点赞 评论
  • oyljerry
    oyljerry 2015-04-14 11:06

    这个最好能在对方机器上抓包分析一下,不然不知道网络中发生了什么

    点赞 评论
  • guangtouhaky
    guangtouhaky 2015-04-17 02:32

    我改了程序,改成循环发送两次消息,暂时解决问题,可能是对方机器的问题。

    点赞 评论

相关推荐