通讯三要素学习笔记
1.IP(InetAddress in Java)
1)网络中的标识
2)不易记忆,可用主机名:www.baidu.com localhost zha-xxx04-w7
3)本地回环地址:127.0.0.1 主机名:localhost
ping localhost->127.0.0.1 ping computer_name-> 本机IP
2.端口号
1)用于标识进程的逻辑地址,不同进程的标识
2)有效端口:0-65535,其中0-1024是系统使用或保留端口
3.传输协议
1)通讯的规则
2)常见协议:TCP,UDP(桌面共享,视频会议,聊天用UDP,快)
UDP详解
1)将数据源和目的封装在数据包中,不需要建立连接
2)每个数据包大小限制在64k内,大的放分开发
3)因为无连接,不可靠,易丢包
4)因无连接,速度快
5)桌面共享,视频会议,聊天用UDP
通俗来说:不管对方是否存在,直接发数据(比如去邮局寄东西,对方在,收到,对方不在,丢失;
又比如:一开始发送成功,后来对方断开连接,数据还接着发,便会丢失)
TCP详解
1)建立连接,形成传输数据的通道
2)在连接中进行大数据量传输
3)通过三次握手完成连接,是可靠协议
4)必须建立连接,效率会降低
5)连接要经过“三次握手” A->B A:收到? B:收到! A:OK!(让B知道A收到它的回复)
通俗来说:TCP相当于打电话,连接通了才能通话
quote from http://www.ibm.com/developerworks/cn/education/linux/l-sock/section2.html
对于理解 TCP 和 UDP 之间的区别来说,一个有用的类比就是电话呼叫和邮寄信件之间的区别。在呼叫者用铃声通知接收者,并且接收者拿起听筒之前,电话呼叫不是活动的。只要没有一方挂断,该电话信道就保持活动,但是在通话期间,他们可以自由地想说多少就说多少。来自任何一方的谈话都按临时的顺序发生。另一方面,当你发一封信的时候,邮局在投递时既不对接收方是否存在作任何保证,也不对信件投递将花多长时间做出有力保证。接收方可能按与信件的发送顺序不同的顺序接收不同的信件,并且发送方也可能在他们发送信件是交替地接收邮件。与(理想的)邮政服务不同,无法送达的信件总是被送到死信办公室处理,而不再返回给发送者。