当前位置:  技术问答>linux和unix

选择TCP还是UDP?

    来源: 互联网  发布时间:2016-03-22

    本文导语:  小弟最近做了个小项目. 在服务器上有多个服务程序. 客户端和这些服务程序交互. 除了主服务程序(负责登录等功能)需要保持和客户端长时间连接外 其他服务程序和客户端都是短连接,也就是需要的时候连接,通信完就...

小弟最近做了个小项目.
在服务器上有多个服务程序.
客户端和这些服务程序交互.

除了主服务程序(负责登录等功能)需要保持和客户端长时间连接外
其他服务程序和客户端都是短连接,也就是需要的时候连接,通信完就关闭.

考虑到并发处理,主服务程序采用UDP连接.

但是其他服务采用什么连接,小弟我实在很难决定.

(预计有10W用户并发,每个客户端每5分钟刷新一遍数据(和各服务程序通信),传输的数据在0.1~10K左右)
数据要保证100%正确

采用TCP,传输不怕错包,但是并发建立TCP连接,对服务器资源占用较高
考虑到是短连接,每秒估计也有好几百个TCP连接.

采用UDP,传输需要自己判断包序,判断包是否错误.
采用双线程,一个线程收请求,一个线程处理,处理线程估计会忙的要命,毕竟还要处理重发和错包.
如果网络质量差,那就要重复发很多次,也很耗时间.
想让包能够正确传输,基本上跟TCP一样,自己要实现握手,和TCP比,只不过不用维护连接.

小弟我就不太清楚,在这种情况下,使用TCP比较合适还是UDP比较合适呢?


各位英雄给点建议哦.
多谢啦!!

|
现在的网络来说,udp的通信质量基本可以保证,现在有不少的文件传输工具不都是用udp写的。

但是由于数据量都比较少,即使使用tcp也不会照成太大的负担的。你可以做个线程池,这些可能效果会好些。

|
先用TCP做一下测试,看看到底负荷是多少。
既然要100%正确还是建议用TCP。

|
100%正确,应该使用TCP
文件传输工具里使用UDP,可能在上层还有校验机制,而且QQ里传文件还是经常失败的

|
显然TCP.
既然你说了也大都是短时间连接, 资源不是问题.

    
 
 

您可能感兴趣的文章:

  • CPU如何知道CS寄存器内装的是LDTR指向的描述符表的段选择符还是GDTR指向的描述符表的段选择符呢?
  • 有什么办法让KDE注销时选择注销、重启还是关机?
  • Linux/Unix的功能??选择windows还是linux?
  • 犹豫中……,到底是选择ASP,还是JSP?
  • 请问各位PASS了SCJP的兄弟姐妹们,考试的选择题目会提示是单选还是多选么?
  • 找工作,选择百度,还是新浪?
  • 我装了多系统,现在把linux删了,但是开机还是有linux 要你选择系统的画面,怎样让我的机子不显示这个画面啊~~??
  • 请问as4 u4安装时选择SQL数据库包,是不是还是没有把mysql安装上???谢谢!!
  • 唉!不知如何去选择:是学习WINDOWS编程还是LINUX,请大家发表一些看法
  • 想知道该如何设置才能使 netterm 进行自动登录 ?我查了资料,但无果。 有人给我答案:{不要输入用户名和密码的那种功能?选择地址簿-〉选择登录巨集文件(我用的是中文版,不知道是谁翻得这么烂)。选一个类似的文件改改就是了。}我还是不明白如何操作 ?
  • 愁死了,一开始使用redhat7.3,安装时定制为服务器,squid不能使用,改用redhat9.0,安装时选择服务器安装选项,squid还是不能用
  • 关于选择Linux还是Unix和安装问题?
  • 我该选择个人版,服务器版,还是工作站版安装呢
  • 问大家一个非技术的问题:北京和上海那的开发坏境好一些,生活环境好一些,选择去上海还是北京?
  • 关于去这个小公司实习?还是在实验室研究课题?的选择!
  • 是选择多线程还是I/O复用呢?
  • vmware下fedora忘记root密码,修改成功后在登陆界面时选择其他用户,用root登陆还是提示密码错呢?用另外一个账户登陆系统后,su可以切换到root
  • 选择Linux(Unix)还是Windows?
  • 在red hat linux 9为显卡ATI RADEON 9600装好了驱动,但配置显示器时还是只能选择linux缺省的显卡驱动,选ATI的,那么重启后就会出错?该
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c#通过委托delegate与Dictionary实现action选择器代码举例
  • 请教:solaris下如何打印文件,需要支持选择纸张类型和选择黑白彩色!
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 怎样使文件选择器可以选择多个文件?
  • CSS 2和CSS 3选择器详解
  • 在选择gone为默认图形界面后如何选择kde?
  • 我在安装 redhat7.2 的时候选择了 GNOME 界面,启动的时候选择了图形界面启动,请问如何更改?
  • 各位能不能说选择Linux不选择Windows的理由?
  • 编译了lilo之后,重启到选择哪个系统的时候,不是原来的选择画面,我想改回去,如何改
  • Jqgrid设置全选(选择)及获取选择行的值示例代码
  • vim块选择,可以用长方形的方式选择数据:ctrl+v怎么没有效果呢。我是linux环境的。
  • **** 高分, 请问在Java中如何做一个文件选择对话框和目录选择对话框? ***
  • 请教linux下的编程的选择:我听说有gtk+gnome的编程,也有kde里的 什么编程,到底应该选择哪个呢?好象一个是技术好一点,一个是市场占有
  • 请问如何保存住下拉框的选项的结果值,比如时间的选择或者任意选项的选择
  • jquery选择器之内容过滤选择器详解
  • 痛哭!!!装了共创桌面后,因为分割了一个分区,导致无法进入系统选择菜单,把共创格式化后,重装原来的windows都无法进入系统选择菜单
  • 请教我先前装了Windows Server 2003,再装Ret Hat Linux 9,开机时,会提示选择操作系统,现在我重装Window Serever 2003,开机不会提示选择
  • jquery选择器之属性过滤选择器
  • 有一个疑问,在jsp的页中有一个选择文件的<input type="file" name="upload_file_name">,当我选择了本地的一个文件的时候,按下提交,提
  • 支持日期选择的滑块插件 jQRangeSlider
  • jQuery颜色选择器 ExColor


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3