`
kx29126390
  • 浏览: 39935 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

QQ传输文件原理参考(来自互联网)

    博客分类:
  • JAVA
阅读更多

QQ的文件发送是怎样的过程呢?通常,发送文件的计算机首先要通过消息服务器将其IP地址发送给接收计算机,当接收计算机同意接收的确认消息反馈到消息服务器后,消息服务器将据此设置好文件传输对话。随即,发送计算机与接收计算机就会在确定好的端口范围内,建立起TCP或UDP连接开始文件的检索与传输。
在默认状态下,QQ优先采用了UDP(User Data Protocol,用户数据报协议)协议传送数据,而对可靠性要求高的数据通讯系统往往使用TCP协议传输数据。与TCP协议不同,UDP协议并不提供数据传送的验证机制——在整个文件传输过程中如果出现数据报的丢失,协议本身并不能作出任何的检测或提示。因此,通常人们把UDP协议称为不可靠的传输协议。 UDP协议适用于无须应答、要求时效的软件使用,这样的设计正好与QQ追求的目标相符,所以QQ优先使用了此协议进行一切功能应用。但是,由于UDP协议具有不可靠性,常会因种种原因导致消息或数据的发送失败(很多时候会发现发送文件给对方接收时,对方根本收不到要求接收文件的消息。或是发送聊天消息时,对方根本没有收到过消息)。显然,UDP协议由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。QQ在数据传输上更注重实际性能,为了获得更好的使用效果,往往可以牺牲一定的可靠性。因此,使用QQ来传输数据,在很多时候就成了一个“不错”的选择。
一般内网传输首选QQ,速度最快,QQ的文件传输是直接个人对个人,采用P2P的传输方式,具有不需中转的优势。
外网速度传输比较强的有网易泡泡、QQ,建议网友们在需要传输文件时选用这两款软件,毕竟它们的服务器都在国内,传输性能要高于外国IM软件。
网易泡泡的传输模式为P2S2P(从个人到服务器,再由服务器转发到个人)。这种传输方式虽然需要中转,但是其出色的表现还是不得不 让我们用户另眼相看。
MSN现在在文件传输方面还是赶不上国产QQ,UC等软件。
另外,双方在互传文件时,会受到不同外网的限制(比如电信跟网通),即使在同一局域网内,也会因防火墙设置不同而影响速度,不过QQ自称能穿透一切防火墙,从实际来看,这方面的能力确实不错。笔者一般传文件,首选QQ。
总的来说,不管什么软件来传输,都要受到时段的限制。
至于双方传送速度不同,原因很多,我由于不太清楚也无法准确回答。你可以根据实际情况分析一下,估计应该和双方各自的防火墙设置及其他环境有关吧。

分享到:
评论

相关推荐

    QQ2440原理图(protel格式)

    在压缩包中的"s3c2240"文件可能包含了与S3C2440相关的详细资料,如数据手册、应用笔记、驱动程序代码等,这些都是理解并实现QQ2440原理图设计的关键参考资料。对于开发者来说,深入研究这些资料有助于更好地理解和...

    QQ协议分析文档, 包括QQ常用的命令、 加密解密原理等

    总的来说,QQ协议分析文档是一份深入了解QQ通信机制的重要参考资料,它揭示了QQ如何高效、安全地进行网络通信,以及如何处理各种用户交互。通过学习这些知识,我们可以更好地理解互联网通信的本质,并可能发现优化或...

    android QQ 2012 QQ反编译文件。详细的XML以及JAVA

    本篇将围绕“android QQ 2012 QQ反编译文件”这一主题,探讨反编译过程中涉及的XML与JAVA编程技术,旨在为有志于安卓应用开发的读者提供深入学习的参考。 首先,我们需要理解什么是反编译。反编译是将已编译的机器...

    QQ2005beta2协议分析.rar

    总结起来,QQ2005beta2协议分析涵盖了网络通信的基本原理,身份验证,消息传输,文件传输,以及社交功能的实现。这份资料对于理解早期即时通讯软件的设计思路和技术实现具有重要价值,同时也为现代即时通讯应用的...

    VS仿QQ通讯项目

    在这个项目中,"TCP外网传输文件"部分可能涉及到通过TCP协议实现在外网环境下的文件传输,这需要对TCP连接建立、数据打包和解包、错误处理等环节有深入理解。 网络链接是通信的基础,"链接"在这里可能指的是客户端...

    php使用QQ邮箱发送邮件.zip

    SMTP是互联网上传输电子邮件的标准协议,它定义了邮件服务器之间如何交换邮件。PHP中的`mail()`函数可以实现简单的邮件发送,但通常不适用于需要通过SMTP服务器发送邮件的复杂场景,如使用QQ邮箱。 2. PHPMailer库...

    QQ 代码绑定 msn代码绑定 内含详细代码示例

    它提供了丰富的聊天、文件传输和社交功能。而MSN(Microsoft Network)则是微软推出的即时通讯服务,虽然现在已被Skype取代,但在过去的网络环境中,MSN也有着广泛的用户基础。 QQ代码绑定通常指的是将其他服务(如...

    基于QQ的软件体系结构剖析.zip

    本主题将深入探讨QQ的软件架构,帮助我们理解大型互联网应用的设计原理和实现机制。 【描述】 本PPT将从以下几个方面对QQ的软件体系结构进行解析: 1. **模块化设计**:QQ采用了模块化的软件设计,各个功能模块...

    局域网通讯软件(类似QQ)

    标题中的“局域网通讯软件(类似QQ)”指的是在局域网内实现的即时通讯工具,类似于我们熟知的腾讯QQ,但它的运行范围限制在本地网络内,无需互联网连接。这种软件通常通过UDP或TCP/IP协议进行数据传输,提供文本聊天...

    QQ号码申请器V2.9

    "中国免费网主页.url"可能是一个快捷方式,指向一个提供免费网络资源或资讯的网站,可能包含有关QQ号码申请或其他互联网服务的相关信息,用户可以参考以获取更多资源或帮助。 "IP切换"可能是指软件内包含的IP地址...

    易语言模仿QQ聊天源码

    总的来说,这个项目涉及了网络编程、数据库操作、用户界面设计、安全功能等多个方面,对于学习易语言和理解即时通讯软件的工作原理有很好的参考价值。开发者可以通过研究这个源码来掌握如何使用易语言构建网络应用,...

    仿QQ即时通讯P2P聊天软件

    QQ作为中国最流行的IM软件之一,其核心功能包括一对一聊天、群组聊天、文件传输等,深受用户喜爱。仿QQ即时通讯P2P聊天软件的设计和实现,旨在学习和理解即时通讯系统的基本架构和关键技术。 即时通讯系统的构建...

    从网上下载QQ头像图片.zip易语言项目例子源码下载

    本项目“从网上下载QQ头像图片.zip”是一个易语言的实践项目,提供了完整的源码,适合初学者或者有一定基础的开发者进行学习和参考。 该项目的核心功能是实现从网络上下载QQ头像图片。在互联网编程中,下载网络资源...

    网络编程QQ聊天程序

    在IT领域,网络编程是构建分布式系统和互联网应用程序的基础,而QQ聊天程序作为一个经典的案例,深受初学者和专业开发者喜爱。本项目是一个基于VC++(Visual C++)环境的小型网络编程QQ聊天程序,旨在帮助学习者理解...

    基于java Swing的企业QQ.rar

    企业QQ是腾讯公司为企业用户打造的一款专业通讯工具,它集成了即时消息、文件传输、群组讨论、日程管理等多种功能,旨在提高企业内部沟通效率和协同办公能力。企业QQ不同于普通的QQ,它更加注重于工作场景,支持在...

    安卓手机精仿qq的代码

    通过分析和实践【安卓手机精仿QQ的代码】,开发者不仅可以提升Android应用开发技能,还能了解前后端协同工作的原理,进一步掌握移动互联网应用的完整开发流程。同时,这也是一个极好的学习和研究案例,对于想要进入...

    仿真版 飞秋,飞鸽传书,QQ局域网聊天通信工具(VC++实现)

    8. **文件传输**:作为扩展功能,聊天工具还可以增加文件传输功能,利用TCP的可靠传输特性实现大文件的分块传输和校验。 通过以上步骤,我们可以构建出一个基础的局域网聊天工具。然而,实际项目中还需要考虑更多的...

    数据系列_技术原理分册_第1章_TCPIP协议概述

    TCP/IP协议是互联网的基础,它由传输控制协议TCP和互联网协议IP组成,起源于20世纪70年代,是互联网初期的核心协议。TCP/IP协议不仅包含IP协议,还涵盖了一整套协议族,如ICMP(Internet Control Message Protocol)...

    myqq.rar_qq聊天_即时通讯_鍗虫椂閫氳

    6. **文件传输**:内置文件传输功能,支持大文件分块上传和下载,优化网络资源使用。 7. **表情与动态图**:丰富的表情库和动态图增强了沟通的趣味性。 【即时通讯软件开发】 要实现类似QQ的即时通讯软件,开发者...

Global site tag (gtag.js) - Google Analytics