一个废物 2021-07-03 19:39 采纳率: 0%
浏览 108

UDP通信可以成功发送但是接收不到数据 各位爸爸

用通信程序测试收发数据都可以,连接硬件之后只能发送数据但是收不到数据,与防火墙也没关系。(硬件接收到一条数据后立马返回一个数据中间只有一毫秒左右吧,会不会因为瞬间时间太短没接收到?)
///


/// 发送数据
///

///
void receive_msgs(string s)
{
try
{
//发送数据
EndPoint end = new IPEndPoint(IPAddress.Parse("192.168.1.251"), 7);
if (s.Length == 0)
throw new Exception("将16进制字符串转换成字节数组时出错,错误信息:被转换的字符串长度为0。");
s = s.Replace(" ", "");
byte[] buffer = new byte[s.Length / 2];
for (int i = 0; i < s.Length; i += 2)
buffer[i / 2] = Convert.ToByte(s.Substring(i, 2), 16);
socket.SendTo(buffer, end);
//线程接收数据
Thread thread = new Thread(receive_msg);
thread.IsBackground = true;
thread.Start(socket);

        }
        catch (Exception)
        {

            throw;
        }
       
        
    }
    /// <summary>
    /// 接收数据
    /// </summary>
    /// <param name="o"></param>
    void receive_msg(object o)
    {
        Socket cliet = o as Socket;
        while (true)
        {
            try
            {
                EndPoint point = new IPEndPoint(IPAddress.Parse("192.168.1.251"), 7);
                byte[] vs = new byte[32];
                while (true)
                {
                    int r = cliet.Receive(vs);
                    string msg = Encoding.UTF8.GetString(vs, 0, r);
                    textBox4.AppendText(socket.RemoteEndPoint.ToString() + ":" + msg + "\r\n");
                }
               
                
            }
            catch (Exception)
            {

                cliet.Close();
            }

        }
    }
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 19:16
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计