Java网络编程TCP与UDP内容

精贴 置顶
1235 0

  TCP (Transmission Control Protocol 传输控制协议):面向连接的,不可靠的,数据流服务。

  UDP (User Datagram Protocl 用户数据报协议):面向无连接的,不可靠的,数据报服务。

  TCP传输和UDP不一样,TCP传输是流式的,必须先建立连接,然后数据流沿已连接的线路(虚电路)传输。因此TCP的数据流不会像UDP数据报一样,每个数据报都要包含目标地址和端口,因为每个数据报要单独路由。TCP传输则只需要在建立连接时指定目标地址和端口就可以了。

  如果我不是刚学过砖头似的《计算机网络》(第四版 Andrew S.Tanenbaum着 潘爱民译 清华大学出版社)以上说的我自己都看不懂。上面只是简要提一下,如果要学习网络,这本书还是值得推荐的。英文版名字是Computer Networks。

  形象的讲,TCP就像打电话,UDP就像发电报。

  就像发电报,宏观上来看UDP是不分客户端和服务端的。通信双方是平等的。

  微观上来讲只相对一个报文,发送端是客户端,监听端是服务端。发送端把数据报发给路由器就像把电报发给了邮局,后面的事情就是发送者无法控制,也无从知晓的了。所以说是不可靠的,可能会出现报文丢失而无从知晓。就像每张电报都要有收件人一样,每个数据报都要有目的地址和端口。

  就像打电话,TCP每次连接都是分客户端和服务端的。连接的发起者(相当与拨号打电话的人)是客户端,监听者(相当于在电话边等着接电话的人)是服务端。发起者指定要连接的服务器地址和端口(相当于拨号),监听者通过和发起者三次握手建立连接(相当于听到电话响去接电话)。建立连接后双方可以互相发送和接受数据(打电话)。

  Java中TCP编程主要通过ServerSocket/Socket 类 实现的,其中Socket.getInputStream()/getOutputStream() 是获得输入/输出 数据流的。ServerSocket.accept()是用来监听建立连接的。

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
CSS cursor鼠标样式一览表 2012-06-25
.NET后台写JS代码 2011-11-03
网站地址多出jdfwkey的问题解析及... 2010-08-25
数据库xxx的日志已满,请备份该数... 2013-07-19
百度、google、Yahoo网站地图制作... 2011-01-30
<a>标签的伪类书写顺序问题... 2010-09-04
什么是长尾关键词? 2010-09-24
CEO名言 2010-08-31
Mysql 主从数据库同步 2010-09-12
用ASP实现网页BBS 2010-11-01
博主推荐
本个人博客微信公众平台上线啦~~... 2013-10-13
饼哥网络互联上线啦~~要买域名空... 2013-09-20
网站title标题如何正确修改不会被... 2013-08-26
饼哥通讯录系统上线啦,欢迎大家... 2013-08-24
ASP .NET MYSQL 的简单分页 并不... 2013-08-19
网站有弹窗广告这样的站点,百度... 2013-08-17
做淘宝SEO优化需要注意的8大问题 2013-08-17
淘宝网怎么做SEO优化 2013-08-17
站长们要学习的“苍井空精神” 2013-08-17
苹果公司今日发布了iOS 7第五个开... 2013-08-07
随便看看
网线水晶头接法 2010-11-23
Sql日期时间格式转换 2013-11-02
随机访问Recordset的一条记录 2010-10-19
咱们中华民族是个有智慧的民族 2013-08-17
用ASP编写下载网页中所有资源的程... 2010-11-01
优化小细节不容忽视 2013-06-23
php计算字符串中重复数字的出现次... 2010-10-11
弹出新窗口转向,算作弊吗? 2010-09-20
如何让打造高转化率的网站 2013-06-23
fckeditor在ie 10中遇到有关问题... 2013-12-20
RSS新闻
传媒新闻
CSDN
八卦新闻
女性新闻
台湾新闻
互联网
军事-新浪博客
IT-新浪博客
汽车新闻
游戏新闻
国际新闻
国内新闻
体育新闻
我的微博
北京 上海 杭州 深圳 广州 成都