一起来学大数据|网络编程中的UDP与TCP


昨天,我们学习了多线程,今天我们看看计算机中的网络是如何建立起来的。

网络编程概述

计算机网络是将不同的计算机通过通信连接起来,在协议的协调下,我们实现资源的共享和信息的传递。

网络编程是通过网络互连实现不同计算机的数据交换。

一起来学大数据|网络编程中的UDP与TCP

网络参考模型图

网络通信的三要素

IP、端口、协议

我要跟胡歌说话.

第一个条件:我要先找到胡歌(IP 网络中设备的标识)

第二个条件:胡歌得有接收数据的地方 耳朵 (端口 用于标识进程的逻辑地址,不同进程的标识)

第三个条件:我跟胡歌说话,关晓彤能接收到,用什么方式接收啊,我说火星语言关晓彤懂吗,说三次元语言关晓彤懂吗,不懂是吧,所以我还是说中文吧。(协议 常见TCP UDP)

一起来学大数据|网络编程中的UDP与TCP

Java中的InetAddress类

获取任意主机:getByName

主机名:getHostName

主机IP地址:getHostAddress

一起来学大数据|网络编程中的UDP与TCP

Java中的InetAddress类

协议UDP与TCP

UDP是不可靠协议,不需要建立连接,速度快,每个封装的数据包大小限制在64K,如发短信。

TCP是可靠协议,必须要通过三次握手完成连接,效率低,如下载。

一起来学大数据|网络编程中的UDP与TCP

实现连接的Socket

Socket套接字是有唯一标识的IP地址和端口号组合在一起构成的唯一标识的标识符套接字。

一起来学大数据|网络编程中的UDP与TCP

原理机制

一起来学大数据|网络编程中的UDP与TCP

Socket机制图解

UDP传输

一起来学大数据|网络编程中的UDP与TCP

UDP传输-发送端

一起来学大数据|网络编程中的UDP与TCP

UDP传输-接收端

TCP传输

一起来学大数据|网络编程中的UDP与TCP

TCP传输-客户端

一起来学大数据|网络编程中的UDP与TCP

TCP传输-服务器端

在TCP协议传输过程中容易出现问题:客户端已经连上服务端,但是两端都在等待,没有任何的数据传输。这是因为read()方法或者readLine方法是阻塞式的。

解决办法:使用自定义结束标记,shutdownInput,shutdownOutput方法

一起来学大数据|网络编程中的UDP与TCP

这就是对网络编程的简单介绍,希望可以帮助到大家,有什么疑问可以在下方留言哦,点击更多~

感谢坚持关注的朋友


世界很大,幸好有你

欢迎在评论区留下你的问题或困惑,我将每天与你分享我的观点和心得。

聚焦最新科技咨讯,探寻未来智能领域,我是女陶。

猜你喜欢

转载自blog.csdn.net/qq_41147260/article/details/80888955