`
zpball
  • 浏览: 916399 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

腾讯QQ是用什么语言写的?

阅读更多
腾讯QQ的开发分客户端软件和服务器端软件两部分。

客户端采用 Microsoft Visual C++开发;
服务器端软件采用Linux gcc开发 ;
数据库采用MySql 数据库。

腾讯QQ采用标准的TCP/IP协议为通信协议。

  TCP/IP协议中又分为TCP协议和UDP协议,TCP协议是面向连接的协议,它比较安全、稳定,但是效率不高,占用资源较多。UDP协议是无连接方式的协议,它的效率高,速度快,占资源少,但是其传输机制为不可靠传送,必须依靠辅助的算法来完成传输控制。QQ采用的通信协议以UDP为主,辅以TCP协议。由于QQ的服务器设计容量是海量级的应用,一台服务器要同时容纳十几万的并发连接,因此服务器端只有采用UDP协议与客户端进行通讯才能保证这种超大规模的服务。

  腾讯QQ客户端之间的消息传送也采用了UDP模式,这不同于国外的ICQ在客户端之间采用TCP进行通讯的模式。因为国内的网络环境非常复杂,而且很多用户采用的方式是通过代理服务器共享一条线路上网的方式,在这些复杂的情况下,客户端之间能彼此建立起来TCP连接的概率较小,严重影响传送信息的效率。而UDP包能够穿透大部分的代理服务器,因此我们在开发QQ的时候选择了UDP作为客户之间的主要通信协议,因此网友会觉得用QQ传送信息要比ICQ及其它采用TCP协议的ICQ类软件快。当然,UDP协议优点突出,缺点也很明显:UDP包的传送是不可靠的传输,它不象TCP一样有包重传等机制,因此采用UDP协议的信息在传送过程中很容易丢失,这样就需要辅助的算法实现包重传机制以保证信息不会丢失,而QQ服务器的负荷非常重,因此在QQ 99b 0425之前我们只是在客户端到客户端之间传送消息时采用了这个辅助的机制,当消息在客户间直接传送无法到达时就需要通过服务器来中转,由于服务器端在老版本的时候迫于负荷过重的压力没有对主动发往客户端的信息进行传输控制,因此在老版本的时候容易造成通过服务器中转的信息丢失的现象。在QQ99c 0725之后我们单独设立出了几台专用的服务器采用包重传机制来中转消息(仅限于99c之间传递的消息),确保通过服务器转发的消息也能够发送到对方的QQ。
分享到:
评论
1 楼 hzaccp 2011-12-12  
哪里来的资料?

相关推荐

    用JAVA语言编写的腾讯QQ

    本软件是用JAVA语言编写的腾讯QQ,是本人在实训期间完成的人物之一,包含完整的MYSQL数据库和JAVA代码,具有登陆界面,打开聊天界面,开启QQ服务,进行聊天等功能设计,适合有一定JAVA基础的人员学习所用。

    腾讯QQ趣味版

    【标题】:“腾讯QQ趣味版”是一个基于C#编程语言的Winform应用程序,它旨在模仿QQ2012的登录界面。此项目不仅提供了一个学习C#和Winform开发的实例,同时也为爱好者们带来了一种娱乐的方式。通过分析这个项目,我们...

    e语言-完全模仿腾讯QQ界面源代码

    在本资源中,我们关注的是一个使用易语言编写的项目——"e语言-完全模仿腾讯QQ界面源代码"。 这个项目的目标是完全复刻腾讯QQ的用户界面,包括其隐藏界面功能。腾讯QQ是一款在中国极为流行的即时通讯软件,其界面...

    C#仿腾讯的QQ宠物程序源码

    这个标题揭示了这是一个关于C#编程语言的项目,目标是创建一个类似腾讯QQ宠物的模拟程序。QQ宠物是腾讯公司推出的一款虚拟宠物游戏,用户可以在电脑上养一只电子宠物。这里的“仿”意味着这个程序试图复制或模仿QQ...

    易语言完全模仿腾讯QQ

    【易语言完全模仿腾讯QQ】项目是一个基于易语言编程环境的软件开发实例,旨在通过学习和实践,让开发者能够理解并掌握如何使用易语言来构建类似腾讯QQ的即时通讯应用。这个项目对于初学者来说是一个很好的起点,因为...

    腾讯QQ微博分享

    【腾讯QQ微博分享】是腾讯公司提供的一项服务,允许用户通过QQ平台将内容分享到微博上,扩大信息的传播范围,提升社交互动性。这项功能的实现离不开特定的开发工具和接口,通常由软件开发工具包(SDK)来提供。 ...

    java模拟腾讯qq,实现其基本功能-源码

    【Java模拟腾讯QQ实现基本功能】 在编程领域,模拟知名软件如腾讯QQ是一项具有挑战性的任务,它涉及到网络通信、多线程处理、图形用户界面(GUI)设计等多个核心知识点。下面我们将深入探讨这些关键点。 首先,**...

    仿腾讯QQ论坛 by DVBBS8.0.rar

    综合以上信息,这个压缩包可能包含了一个基于DVBBS 8.0的论坛模板,设计上模仿了腾讯QQ论坛和中国学生网,采用ASP编程语言,并且可能提供了额外的下载资源。对于想要搭建类似论坛的用户,他们需要具备一定的ASP编程...

    189-腾讯QQ在线客服代码.rar

    【描述】"189-腾讯QQ在线客服代码 下载即用。" 表示这是一个可以直接使用的解决方案,无需进行复杂的配置或开发工作,只需下载后按照一定的步骤在自己的网站上部署即可实现QQ在线客服功能。 【标签】"在线客服代码...

    完全模仿腾讯QQ界面源代码

    【标题】:“完全模仿腾讯QQ界面源代码” 这个标题揭示了一个关键知识点,即开发者或学习者可以获取到一份源代码,这份代码旨在模仿腾讯QQ的用户界面设计。腾讯QQ是中国非常流行的一款即时通讯软件,其界面设计简洁...

    腾讯QQ群带缩略图JS相册图片代码

    腾讯QQ群带缩略图JS相册图片代码是一种利用JavaScript(JS)实现的动态相册功能,它在网页上展示图片时,会先显示缩略图,用户点击后可以查看全尺寸图片。这种技术在网页设计中十分常见,能够提供良好的用户体验,...

    仿腾讯QQ2013界面

    在这个项目中,开发者试图模仿腾讯QQ2013版本的界面风格,以提供类似的视觉效果和交互体验。 1. **用户界面设计**:用户界面是软件与用户进行交流的窗口,良好的UI设计能够提升用户的使用满意度。在"仿腾讯QQ2013...

    源代码腾讯QQfarm源代码

    【标题】"源代码腾讯QQfarm源代码"指的是腾讯公司的一款名为QQfarm的项目或应用的源代码。QQfarm可能是腾讯开发的一个线上农场模拟游戏,或者是与社交网络结合的虚拟农场应用。源代码是程序的基础,它包含了编写应用...

    仿腾讯QQ论坛.0

    【标题】"仿腾讯QQ论坛.0"是一个项目或软件的名称,暗示它是一个模仿腾讯QQ官方论坛的网页应用或平台。这个应用可能由个人或团队开发,旨在提供与腾讯QQ论坛类似的用户体验,允许用户交流、讨论和分享关于QQ及相关...

    JAVA版模仿腾讯QQ的局域网聊天工具

    【JAVA版模仿腾讯QQ的局域网聊天工具】是一个基于JAVA编程语言开发的项目,旨在模仿腾讯QQ的局域网聊天功能。这个工具允许在同一网络内的用户进行即时通讯,提供了基本的消息发送、接收以及可能的文件传输等功能。...

    QQ程序,腾讯qq

    QQ程序,腾讯QQ是中国最流行的即时通讯软件之一,由腾讯公司开发。它的界面设计和功能集成了多种通信和社交元素,使得用户能够方便地进行文字、语音、视频聊天,发送文件,以及加入群组和讨论组等。"模仿QQ界面"通常...

    易语言源码完全模仿腾讯QQ.rar

    【易语言源码完全模仿腾讯QQ.rar】是一个与软件开发相关的压缩包,主要涉及的是使用易语言编程工具来模仿腾讯QQ的功能实现。易语言是一种基于中文的编程语言,旨在降低编程难度,让更多人能参与到软件开发中来。该...

    腾讯QQ和淘宝旺旺在线客服代码

    总结起来,腾讯QQ和淘宝旺旺的在线客服代码实现涵盖了API接口开发、编程语言应用、用户体验设计等多个IT领域的知识点。开发者需要具备扎实的技术基础,同时注重用户需求和数据安全,才能构建出高效、稳定的在线客服...

Global site tag (gtag.js) - Google Analytics