结论:

> Socket 理论上 支持 只上行,或者 只下行。

> 心跳包 必须是 上下行的 —— 心跳包请求(上行) - 心跳包响应(下行)。

> 如果 长时间 只有单向链接(只发送不接受,或者 只接受不发送) —— 路由器 就会 丢弃 Socket数据。

> 心跳包 不是 必须的 —— 任意 上下行组合 都能 维持 Socket 所需的 软件(操作系统、程序)、硬件(电脑、路由器,手机基站)的 有效性。

相关链接:

http://www.cnblogs.com/lcw/p/3565459.html

案例:

> 手机通过 Socket 分片段 发送 100M 的文件(上行,只发送,不接受),平均耗时 3~5 分钟。

> 偶发异常:服务器接收的数据 突然丢失。

> 如果 在文件 每发送一个片段后,反向发送 几个空字节(下行) —— 偶发异常消失。

『随笔』Socket 链接 必须 上下行 同时使用的更多相关文章

  1. 『Python』socket网络编程

    Python3网络编程 '''无论是str2bytes或者是bytes2str其编码方式都是utf-8 str( ,encoding='utf-8') bytes( ,encoding='utf-8' ...

  2. 『TensorFlow』网络操作API_上

    简书翻译原文 卷积层 卷积操作是使用一个二维的卷积核在一个批处理的图片上进行不断扫描.具体操作是将一个卷积核在每张图片上按照一个合适的尺寸在每个通道上面进行扫描.为了达到好的卷积效率,需要在不同的通道 ...

  3. 『TensorFlow』读书笔记_Inception_V3_上

    1.网络背景 自2012年Alexnet提出以来,图像分类.目标检测等一系列领域都被卷积神经网络CNN统治着.接下来的时间里,人们不断设计新的深度学习网络模型来获得更好的训练效果.一般而言,许多网络结 ...

  4. 『随笔』C# 程序 修改 ConfigurationManager 后,不重启 刷新配置

    基本共识: ConfigurationManager 自带缓存,且不支持 写入. 如果 通过 文本写入方式 修改 配置文件,程序 无法刷新加载 最新配置. PS. Web.config 除外:Web. ...

  5. 『随笔』WCF开发那些需要注意的坑

    执行如下 批处理:"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\svcutil.exe" http://127.0.0.1: ...

  6. 『随笔』.Net 底层 数组[] 的 基本设计探秘 512 子数组

    static void Main(string[] args) { Console.ReadKey(); //初始化数组 不会立即开辟内存字节, 只有实际给数组赋值时 才会开辟内存 // //猜测数组 ...

  7. 『TensorFlow』专题汇总

    TensorFlow:官方文档 TensorFlow:项目地址 本篇列出文章对于全零新手不太合适,可以尝试TensorFlow入门系列博客,搭配其他资料进行学习. Keras使用tf.Session训 ...

  8. [原创] 【2014.12.02更新网盘链接】基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装

    [原创] [2014.12.02更新网盘链接]基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装 joinlidong 发表于 2014-11-29 14:25:50 ...

  9. 在Ubuntu 11.10工具栏上用数字显示网速、CPU负荷和内存占用量『译』

    基本上照抄了<How To Display Network Upload / Download Speed On The Panel In Ubuntu 11.04>,只不过我的实践环境是 ...

随机推荐

  1. 浅谈 sql 中数据的约束

    数据约束 --对用户操作表的数据进行约束 1.默认值 --当用户对使用默认值的字段不插入值的时候,就使用默认值 1)对默认值字段插入null是可以的. 2)对默认值字段可以插入非null [例如:ad ...

  2. Profiling MySQL queries from Performance Schema

    转自:http://www.percona.com/blog/2015/04/16/profiling-mysql-queries-from-performance-schema/ When opti ...

  3. emacs下安装pip

    Ubuntu13.10下安装pip的方法   $ sudo apt-get install python-pip python-dev build-essential  $ sudo pip inst ...

  4. 通过beego快速创建一个Restful风格API项目及API文档自动化

    通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...

  5. sql date时间加减几天几小时

    //时间转成年月日时分秒select date_format(now(),'%Y%m%d%H%i%S')//时间转成年月日select date_format(now(),'%Y%m%d')//去年此 ...

  6. python之2048

    #-*- coding:utf-8 -*- import curses from random import randrange, choice # generate and place new ti ...

  7. 车脸检测 Adaboost 检测过程

    上一节中我介绍了如何使用Opencv自带的opencv_traincascade.exe来做训练,接下来介绍如何使用训练生成的cascade.xml模型文件来检测车脸. 首先需要说明的是我这里的训练数 ...

  8. 漫谈计算摄像学 (一):直观理解光场(Light Field)

    什么是计算摄像学 计算摄像学(Computational Photography)是近年来越来越受到注意的一个新的领域,在学术界早已火热.本来计算摄像学的业界应用在群众中一直没什么知名度,直到Lytr ...

  9. UVALive 5966 Blade and Sword -- 搜索(中等题)

    题意:给一幅地图,P为起点,D为终点,'*'为传送阵,到达传送阵可以传到任意一个其他的传送阵,传到以后可以正常走或者再传回来,问P->D最短步数. 分析:这题一定要细心,分析要到位才能搞定,错一 ...

  10. 第24章 SEH结构化异常处理_异常处理及软件异常

    24.1  程序的结构 (1)try/except框架 __try{ //被保护的代码块 …… } __except(except fileter/*异常过滤程序*/){ //异常处理程序 } (2) ...