GPRS以TCP上传数据到服务器OK,但收不到服务器下发的数据

基站漂移是DTU很常见的连接故障,一个DTU所处的地方可能会有多个基站信号,时间久了,可能会在不同的基站之间切换,它会更新自己的连接,发数据给服务器是没问题的,因为服务器总是侦听端口的,谁来数据都会收,但服务器要下发时,如果还使用旧的连接,肯定是到达不了DTU的。因为旧的连接已经失效,但服务器不知道。解决的思路就是SIM800数据上来时,必须带有自己的标识,服务器根据这个标识找到集合中对应的sim设备对象,立即将当前携带数据的socket更新给这个对象。如果数据透传没有标识,那就做心跳,服务器每次收到心跳,用心跳数据的socket更新原来保存的连接。

GPRS以TCP上传数据到服务器OK,但收不到服务器下发的数据的更多相关文章

  1. C# FTP上传文件时出现"应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址。"的错误

    FTP上传文件时出现"应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址."的错误 解决方法是在原代码上增加这句话 reqFTP.UsePassive = f ...

  2. day29 8_8 TCP上传文件socketserver的应用

    一.文件上传 对于一些比较大的文件,当传输的数据大于内存时,显然,一次性将数据读取到内存中,在从内存传输到服务器显然时不可取的. 所以,在上传文件时,可以在with open打开文件,边读取文件边发送 ...

  3. tcp上传大文件举例、udp实现qq聊天、socketserver模块实现并发

    为什么会出现粘包现象(day31提到过,这里再举个例子) """首先只有在TCP协议中才会出现粘包现象,因为TCP协议是流式协议它的特点是将数据量小并且时间间隔比较短的数 ...

  4. Go语言网络通信---tcp上传大文件(粘包问题还需优雅解决)

    server端: package main import ( "bufio" "encoding/binary" "fmt" "n ...

  5. 如何在nuget上传自己的包+搭建自己公司的NuGet服务器(新方法)

    运维相关:http://www.cnblogs.com/dunitian/p/4822808.html#iis 先注册一个nuget账号https://www.nuget.org/ 下载并安装一下Nu ...

  6. php使用curl 实现GET和POST请求(抓取网页,上传文件),支持跨项目和跨服务器

    一:curl 函数和参数详解 函数库:1:curl_init 初始化一个curl会话2:curl_close 关闭一个curl会话3:curl_setopt 为一个curl设置会话参数4:curl_e ...

  7. 12@365 java上传文件(word、图片等)至服务器

    这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用 后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下) ...

  8. java 利用TCP上传文件

    从客户端上传到服务器端,其实本质上也就是复制! package july76net; //上传文件(文本) import java.io.BufferedReader; import java.io. ...

  9. tcp上传学习二--文本文件上传

    //暮雪超霸.加油!!!package tcp文本上传; import java.io.BufferedReader; import java.io.FileReader; import java.i ...

随机推荐

  1. Mysql开启GTID后遇到错误跳过方法

    处理方法如下: 一:跳过错误 这个GTID_NEXT的4,是在master 上正常执行的最大id + 1,即Executed_Gtid_Set里面master uuid执行过的最大值 3+ 1 STO ...

  2. h5中history实例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. win10 64下anaconda4.2.0(python3.5)

    python环境:win10 64下anaconda4.2.0(python3.5).安装tensorflow过程是在Anaconda Prompt中进行安装 1:打开Anaconda Prompt ...

  4. java连接Oracle数据库的操作说明

    在测试中,我们常常需要连接Oracle数据库来进行查询对比.下面,我们就来看看,如何使用java代码来连接数据库,并且取出我们想要的数值. 首先,java中如果要连接Oracle数据库,需要jdbc的 ...

  5. 使用 create-react-app 快速构建 React 开发环境

    在终端执行以下命令创建项目: 1.指定创建的项目位置(这里以桌面为例) cd Desktop 2.创建 React 项目 npx create-react-app my-app 3.进入项目并启动 c ...

  6. linux一些配置

    ifconfig 查询.设置网卡和ip参数 ifup ens33 启动网卡 ifdown 关闭网卡 systemctl restart/start/stop network 重启.开始.关闭 网络服务 ...

  7. No.4.测试子类继承父类各代码块和构造方法的执行顺序

    Son子类 public class Son extends Parent { static String y ="son的static属性"; public static voi ...

  8. ArcMap 制图出图

    在这里用的数据是:台湾2018年6月人口统计数据来做展示数据. ArcMap 里面主要用到的是:符号系统使用.布局视图等 一.属性中设置元素符号 ArcMap 初次加载数据,默认的是“单一符号”,就是 ...

  9. SVM: 实际中使用SVM的一些问题

    使用SVM包来求θ,选择C与核函数 我们使用已经编写好的软件包(这些软件包效率高,用得多,是经无数人证明已经很好的可以使用的软件包)来求θ,而不是自己去编写软件来求它们(就像我们现在很少编写软件来求x ...

  10. Python凯撒密码和括号匹配

    1.凯撒密码: 除了特殊字符不转化,其余的按照规定经行转译,以下以a~z和A~Z的字符都进行转译. plaincode = input("")print(len(plaincode ...