[Java]网络编程

2019-10-11  本文已影响0人  芒果奶油卷

#### 13.网络编程

1.要想实现网络传输,需要考虑的问题有哪些?

1.1 如何才能准确的定位网络上的一台主机?

1.2 如何才能进行可靠的、高效的数据传输?

  2. java如何实现的网络通信

2.1 使用IP地址---定位一台主机;使用端口号---定位一个应用;===>InetAddress类

如何创建一个InetAddress的对象?getByName("");

比如:InetAddress inet = InetAddress.getByName("192.168.10.165");

如何获取本机的一个InetAddress的对象?getLocalHost()

域名:getHostName();ip:getHostAddress()

2.2 对应有协议

应用层:HTTP;ftp;telnet;DNS

传输层:TCP;UDP

网络层:IP;ICMP;ARP

物理+数据链路层:Link

2.3 TCP和UDP

TCP协议:

使用TCP前,必须建立TCP协议,形成传输数据通道;

传输前,采用"三次握手"方式,是可靠的;

在TCP协议进行通信的两个应用进程:客户端、服务端;

在数据中进行大数据量的传输;

传输完毕,需释放已建立的连接,效率低.

UDP协议:

将数据、源、目的封装成数据包,不需要建立连接;

每个数据报的大小限制在64kb大小;

因无序连接,是不可靠的;

发送数据时无需释放资源,速度快.

2.4

TCP的编程:Socket;ServerSocket

例子:

1.客户端发送内容给服务端,服务端将内容打印到控制台上。

2.客户端发送内容给服务端,服务端给予反馈。

3.从客户端发送文件给服务端,服务端保存到本地。并返回“发送成功”给客户端。并关闭相应的连接。

UDP的编程:DatagramSocket;DatagramPacket

UDP数据报DatagramPacket 通过数据报套接字DatagramSocket发送和接收;

DatagramPacket对象封装了UDP数据报,在数据报中包含了发送端的IP地址和端口号以及接收端的IP地址和端口号

URL的编程:统一资源定位符一个URL的对象,对应着互联网上一个资源。

//我们可以通过URL的对象调用其相应的方法,将此资源读取(“下载”)

上一篇 下一篇

猜你喜欢

热点阅读