天线|RF射频
直播中

陈衍暖

7年用户 174经验值
私信 关注
[问答]

通过gprs采集和控制sim900但grps就是接收不到数据

   在做个项目遇到困难,通过电脑发送和采集由sim900模块的数据,现在可以正常接收gprs模块发送过来的数据,发送数据发现可以发送成功,但grps就是接收不到数据,用网络调试助手可以正常发送接收数据,自写的程序在局域网测试发送都是可以正常发送的,通过设置路由器端口映射也可以在广域网发送接收的,这就奇怪了,为什么人家的网路调试助手可以正常发送,而我的程序就不可以(已经证明在局域网、广域网路由映射都是成功的),难道gprs有特殊要求?
  下面附我发送的程序的代码:(协议用的是Udp,gprs先发送个信息,电脑接收端接收,找到ip和端口,发送就按照这个ip和端口发送,此过程在网路调试助手已经调试通过)
private void button1_Click(object sender, EventArgs e)
        {
            if (txtSendMssg.Text == "")
            {
                MessageBox.Show("请先输入要发送的内容!", "提示");
                return;
            }
            // 匿名发送
            udpcSend = new UdpClient(0);             // 自动分配本地IPv4地址
            byte[] sendbytes = Encoding.ASCII.GetBytes(txtSendMssg.Text.Trim());
            IPEndPoint remoteIpep = new IPEndPoint(
                IPAddress.Parse(txtiP.Text.Trim()), int.Parse(txtPort.Text.Trim())); // 发送到的IP地址和端口号
            udpcSend.Send(sendbytes, sendbytes.Length, remoteIpep);
         
        }

回帖(2)

韦薇

2019-5-22 10:07:14
这个是UDP协议的,谢谢各位帮忙,问题已经找到原来涉及到了udp打洞相关知识,服务器监听的端口,发送的时候也必须用此端口才能发出,如果用随机端口在局域网中是通的,在广域网会被路由器屏蔽掉。这么简单弄了好久,哎.......
举报

薛槐敏

2019-5-22 10:26:25
  有没有类似网络调试助手的源码来比较下也行啊最好c#的,现在卡这里好久了,郁闷啊
举报

更多回帖

发帖
×
20
完善资料,
赚取积分