目录
网络编程的概述
- Java是Internet上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。
- Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在Java的本机安装系统里,由JVM进行控制。并且Java实现了一个跨平台的网络类库,程序员面对的是一个统一的网络编程环境。
- 计算机网络
把分布在不同地理区域的计算机与专门的外部设备用通讯线路互连成一个规模大,功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信息等资源。 - 网络编程的目的
直接或间接地通过网络协议与其他计算机实现数据交换,进行通讯。
如何实现网络中的主机互相通信
通讯双方地址
- IP
- 端口号
一定的规则
- OSI参考模型:模型过于理想化,未能在因特网上进行广泛推广
- TCP/IP参考模型
网络通信模型(OSI)
网络编程中的两个要素
1.IP和端口号
IP地址 :InetAddress
- 唯一的标识Internet上的计算机(通讯实体)
- 本地回环地址(hostAddress):127.0.0.1 主机名(hostname):localhost
- IP地址分类方式1:IPV4和IPV6
- IP地址分类方式2:公网地址(万维网)和私有地址(局域网)
端口号
- 端口号标识了正在计算机上运行的进程(程序)
- 被规定为一个16位的整数0-65535
- 端口号分类:
- 公认端口:0-1023.被预先定义的服务器占用(如FTP 21,HTTP80等)
- 注册端口:1024-49151。分配给用户进程或应用程序。(如MySQL 3306等)
- 动态/私有端口:49152-65535.
- 端口号与IP地址的组合得出一个网络套接字:Socket。
2.网络通讯协议
TCP和UDP
TCP协议:
- 使用TCP协议前,必须建立TCP连接,形成传输数据通道。
- 传输前,采用“三次握手”方式,点对点通讯,是可靠的。
- TCP协议进行通讯的两个应用进程:客户端,服务端。
- 在连接中可进行大数据量的传输。
- 传输完毕,需释放已建立的连接,效率低。
UDP协议:
- 将数据,源,目的封装成数据包,不需要建立连接。
- 每个数据报的大小限制在64K内。
- 发送不管对方是否准备好,接收方收到也不确定,是不可靠的。
- 可以广播放送。
- 发送数据结束时无需释放资源,开销小,速度快。
InetAddress
实例化InetAddress的方法
两个常用的方法
TCP练习:模拟客户端向服务端发送信息
客户端
服务器端
模拟客户端给服务器端发送一个文件
客户端
服务器端
UDP网络编程
- 类DatagramSocket和DatagramPacket实现了基于UDP协议网络程序。
- UDP数据报通过数据报套接字DatagramSocket发送和接收,系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达。
- DatagramPaket对象封装了UDP数据报,在数据报中包含了发送端的IP地址和端口号以及接收端的IP地址和端口号。
- UDP协议中每个数据报都给出了完整的地址信息,因此无须建立发送方和接收方的连接。
UDP:DatagramSocket
客户端给服务器端发送数据
发送端
接收端
URL编程
URL 类
- URL(Unifrom Resource Locator):统一资源定位符,它表示Internet上某一资源的地址。
- 他是一种具体的URL,既URL可以用来标识一个资源,而且还指明了如何locate这个资源。
- 通过URL我们可以访问Internet上的各种网络资源,比如最常见的www.ftp站点。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。
- URL的基本结构由5个部分组成:
<传输协议>://<主机名>:<端口号>/<文件名>#片段名?参数列表
URL类的方法
URL类的构造器
URL练习:程序访问指定URL,并下载资源操作
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/154586.html