第78节:Java中的网络编程(上)
前言
网络编程涉及ip,端口,协议,tcp和udp的了解,和对socket通信的网络细节.
网络编程
网络模型
开放系统互连
网络通讯要素
网络编程指IO加网络
OSI模型
TCP/IP模型
描述
TCP/IP模型:
应用层
传输层
网际层
主机到网络层
OSI模型:(封装) 网络1封包->网络2拆包
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
网络通讯要素:
ip地址
端口号
传输协议
网络通讯要素
主机名和ip地址是对应的,默认的主机名:localhost
ip地址是ip使用32或128位无符号数字,它是一种低级的协议,UDP和TCP协议都是在它的基础上构建的.
InetAddress的实例包含ip地址,相应的主机名
升级:
获取ip地址
域名解析_查表
文件
Internet协议属性
域名解析服务器,宽带服务.配置域名服务器主机,一个网址浏览要到它的Ip地址,要找到,就会把ip地址放到域名解析服务器,供给本地使用宽带连接的使用,就可以在浏览器中找到ip地址,浏览网址了.
装服务器软件,把你要浏览的地址ip写进去就可以了
有些软件需要进行注册序列号?
端口
端口,为物理端口,一台电脑发送信息给另一台电脑的软件,发送ip地址完, 要带上端口号, 然后 对应另一台接收消息的软件 有个软件应用程序的数字标识,为逻辑端口, 这样就可以对应发送到另一台电脑上的对应软件接收消息.
我今天要去一家酒店去了地址,到了楼层, 要知道哪个房间号,才知道对应做什么事.
端口号
传输协议
TCP和UDP: 传输协议,传输规则,通讯规则,传输层.
TCP和UDP
,不需要建立连接.我发给你信息,不管你在不在,我就发给你了.我送你东西,写个地址,发到你家就行.有个包,装东西,有大小限制,最多是64k的限制数据.(好处,速度快,不可靠)
发数据,要确保连接是不是畅通的.是通过三次握手完成的,确保数据的连接畅通.用流行的话语:
完成了三次TCP握手:
女朋友发给男朋友
:"在吗?"
男朋友回复女朋友
:"我在!"
女朋友回复男朋友
:"我知道了"
这样爱情可靠,但是很浪费时间的,这样维护情感有点耗时,但是很可靠.
断开就不传了,不管.电话来形容TCP,对讲机来形容UDP.
Socket
Socket
数据在两者之间通过IO传输,传输协议TCP或UDP
Socket就像两端插口,传输协议不一样,Socket插口也是由不同的类型的.数据在两者之间进行传输,数据是基于网络的io流进行传输的,传输过程就是传入和传出的过程
UDP_发送端_out
例子:
构造方法摘要
:从此套接字接收数据报包
:从此套接字发送数据报包
数据包
构造一个用于接收长度的数据包.
发送端
接收端
UDPSend
接收端:
群聊工程
网络编程TCP服务端
客户端和服务端交互
客户端:
服务端:
客户端
服务端
小结
网络编程到网络模型:一开始7层到4层
传输层的了解
网络通讯:
ip:用于网络中主机的数字标识
端口:用于应用程序的数字标识
传输协议:用于数据传输的规则
TCP和UDP的区别
TCP: 面向连接,三次握手,速度慢,可靠
UDP: 面向无连接,速度快,不可靠
实现UDP的通信:
实现TCP传输:
客户端,服务端
客户端要明确服务端的ip+端口,而服务端要明确端口,通过accept的方法获取客户端对象.
结言
那么你是否掌握了,什么是tcp和udp,socket通信机制,以及ip,端口,协议.
作者简介
达叔,理工男,简书作者&全栈工程师,感性理性兼备的写作者,个人独立开发者,我相信你也可以!阅读他的文章,会上瘾!,帮你成为更好的自己。长按下方二维码可关注,欢迎分享,置顶尤佳。
感谢!承蒙关照!您真诚的赞赏是我前进的最大动力!
这是一个有质量,有态度的公众号
喜欢本文的朋友们
欢迎长按下图关注订阅号
领取专属 10元无门槛券
私享最新 技术干货