黑马程序员_java网络编程概述
2014-09-24 17:43
288 查看
------- android培训、java培训、期待与您交流! ----------
1,网络编程要点:
IP地址
注意 : IP地址能唯一标识网络中的一台主机,网络中的主机名和IP地址能一一对应
localhost:本地回环地址(本机地址)
端口
注意 : 端口不是物理上的端口,而是虚拟的东西。端口其实是为了标识进程的。
计算机端口号从0-65535,其中0-1024是为了系统进程保留的,应尽量避免使用这些端口
传输协议
注意 : UDP
将数据及源和目的封装在数据包中,不需要建立连接
每个数据包的大小限制在64K
因为无连接,是不可靠的协议
不需要建立连接,速度快
可以把UDP传输比作对讲机传输
TCP
要建立连接,形成传输数据通道
在连接中进行大数据量的数据传输
通过三次握手完成连接,是可靠的协议
必须建立连接,效率会稍微低
可以把TCP传输比作电话传输
网络编程常见结构
B/S(浏览器服务器结构) C/S(客户端服务器结构)
2,域名解析过程
问题 : 当在浏览器的地址栏输入www.baidu.com的时候有没有想过内部做了哪些事情呢?
解答 : 当在地址栏输入www.baidu.com的时候,计算机先在本地的C:\Windows\System32\drivers\etc\hosts文件中查找域名IP地址映射表,如果找到对应域名的IP地址,浏览器则跳向这个IP地址,如果在域名IP地址映射表中没有找到,计算机就在网络上的DNS服务器查找对应的IP,如果找到,则跳向这个IP,如果没有找到,浏览器则显示当前页无法显示。
3,Java编程语言对网络的支持(Java对网络支持的类全部都在java.net包中)
1,主要的类
InetAddress(用来封装IP地址的)
DatagramSocket(UDP传输方式中,既能作为客户端,也能作为服务器)
DatagramPacket(这是一个UDP传输方式的数据包,用来封装数据)
Socket(TCP传输方式中的的客户端)
ServerSocket(TCP传输方式中的服务器)
URL(统一资源定位符类)
URLConnection(表示到 URL 所引用的远程对象的连接)
2,各个类主要的API
<
4000
span style="font-size:14px;white-space:pre;">InetAddress
public static InetAddress getByName(String host) 解释:在给定主机名的情况下确定主机的 IP 地址。
public String getHostAddress() 解释:字符串格式的原始 IP 地址。
public String getHostName() 解释:获取此 IP 地址的主机名。
public static InetAddress getLocalHost() 解释:返回本地主机。
DatagramSocket
public DatagramSocket() 解释:构造数据报套接字并将其绑定到本地主机上任何可用的端口。套接字将被绑定到通配符地址, IP 地址由内核来选择。
public DatagramSocket(int port) 解释:创建数据报套接字并将其绑定到本地主机上的指定端口。套接字将被绑定到通配符地 址,IP 地址由内核来选择。
public void receive(DatagramPacket p) 解释:从此套接字接收数据报包。当此方法返回时,DatagramPacket 的缓冲区填充了 接收的数据。数据报包也包含发送方的
IP 地址和发送方机器上的端口号。
public void send(DatagramPacket p) 解释:从此套接字发送数据报包。DatagramPacket 包含的信息指示:将要发送的数据、其长度、远程主机的 IP 地址和远程主机的端口号。
public InetAddress getInetAddress() 解释:返回此套接字连接的地址。如果套接字未连接,则返回 null。
DatagramPacket
public DatagramPacket(byte[] buf,int length,InetAddress address,int port) 解释:构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。length
参数必须小于等于 buf.length。
public byte[] getData() 解释:返回数据缓冲区。接收到的或将要发送的数据从缓冲区中的偏移量 offset 处开始,持续 length 长度。
public void setData(byte[] buf) 解释: 为此包设置数据缓冲区。
Socket
public Socket(String host,int port) 解释:创建一个流套接字并将其连接到指定主机上的指定端口号。
public InputStream getInputStream() 解释:返回此套接字的输入流。
public OutputStream getOutputStream() 解释:返回此套接字的输出流。
public InetAddress getInetAddress() 解释:返回套接字连接的地址
ServerSocket
public ServerSocket(int port) 解释:创建绑定到特定端口的服务器套接字。
public InetAddress getInetAddress() 解释:返回此服务器套接字的本地地址。
public Socket accept() 解释:侦听并接受到此套接字的连接。此方法在连接传入之前一直阻塞。
URL
public URL(String spec) 解释:根据 String 表示形式创建 URL 对象。
public String getFile() 解释:此 URL 的文件名,如果没有文件名,则返回一个空字符串
public String getProtocol() 解释:获取此 URL 的协议名称
public int getPort() 解释:获取此 URL 的端口号。
public String getPath() 解释:获取此 URL 的路径部分。
public String getQuery() 解释:获取此 URL 的查询部分。
public final InputStream openStream() 解释:打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。
public URLConnection openConnection() 解释:返回一个 URLConnection 对象,它表示到 URL 引用的远程对象的连接
URLConnection
public InputStream getInputStream() 解释:返回从此打开的连接读取的输入流。
public OutputStream getOutputStream() 解释:返回写入到此连接的输出流。
public String getHeaderField(String name) 解释:返回指定的头字段的值。
1,网络编程要点:
IP地址
注意 : IP地址能唯一标识网络中的一台主机,网络中的主机名和IP地址能一一对应
localhost:本地回环地址(本机地址)
端口
注意 : 端口不是物理上的端口,而是虚拟的东西。端口其实是为了标识进程的。
计算机端口号从0-65535,其中0-1024是为了系统进程保留的,应尽量避免使用这些端口
传输协议
注意 : UDP
将数据及源和目的封装在数据包中,不需要建立连接
每个数据包的大小限制在64K
因为无连接,是不可靠的协议
不需要建立连接,速度快
可以把UDP传输比作对讲机传输
TCP
要建立连接,形成传输数据通道
在连接中进行大数据量的数据传输
通过三次握手完成连接,是可靠的协议
必须建立连接,效率会稍微低
可以把TCP传输比作电话传输
网络编程常见结构
B/S(浏览器服务器结构) C/S(客户端服务器结构)
2,域名解析过程
问题 : 当在浏览器的地址栏输入www.baidu.com的时候有没有想过内部做了哪些事情呢?
解答 : 当在地址栏输入www.baidu.com的时候,计算机先在本地的C:\Windows\System32\drivers\etc\hosts文件中查找域名IP地址映射表,如果找到对应域名的IP地址,浏览器则跳向这个IP地址,如果在域名IP地址映射表中没有找到,计算机就在网络上的DNS服务器查找对应的IP,如果找到,则跳向这个IP,如果没有找到,浏览器则显示当前页无法显示。
3,Java编程语言对网络的支持(Java对网络支持的类全部都在java.net包中)
1,主要的类
InetAddress(用来封装IP地址的)
DatagramSocket(UDP传输方式中,既能作为客户端,也能作为服务器)
DatagramPacket(这是一个UDP传输方式的数据包,用来封装数据)
Socket(TCP传输方式中的的客户端)
ServerSocket(TCP传输方式中的服务器)
URL(统一资源定位符类)
URLConnection(表示到 URL 所引用的远程对象的连接)
2,各个类主要的API
<
4000
span style="font-size:14px;white-space:pre;">InetAddress
public static InetAddress getByName(String host) 解释:在给定主机名的情况下确定主机的 IP 地址。
public String getHostAddress() 解释:字符串格式的原始 IP 地址。
public String getHostName() 解释:获取此 IP 地址的主机名。
public static InetAddress getLocalHost() 解释:返回本地主机。
DatagramSocket
public DatagramSocket() 解释:构造数据报套接字并将其绑定到本地主机上任何可用的端口。套接字将被绑定到通配符地址, IP 地址由内核来选择。
public DatagramSocket(int port) 解释:创建数据报套接字并将其绑定到本地主机上的指定端口。套接字将被绑定到通配符地 址,IP 地址由内核来选择。
public void receive(DatagramPacket p) 解释:从此套接字接收数据报包。当此方法返回时,DatagramPacket 的缓冲区填充了 接收的数据。数据报包也包含发送方的
IP 地址和发送方机器上的端口号。
public void send(DatagramPacket p) 解释:从此套接字发送数据报包。DatagramPacket 包含的信息指示:将要发送的数据、其长度、远程主机的 IP 地址和远程主机的端口号。
public InetAddress getInetAddress() 解释:返回此套接字连接的地址。如果套接字未连接,则返回 null。
DatagramPacket
public DatagramPacket(byte[] buf,int length,InetAddress address,int port) 解释:构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。length
参数必须小于等于 buf.length。
public byte[] getData() 解释:返回数据缓冲区。接收到的或将要发送的数据从缓冲区中的偏移量 offset 处开始,持续 length 长度。
public void setData(byte[] buf) 解释: 为此包设置数据缓冲区。
Socket
public Socket(String host,int port) 解释:创建一个流套接字并将其连接到指定主机上的指定端口号。
public InputStream getInputStream() 解释:返回此套接字的输入流。
public OutputStream getOutputStream() 解释:返回此套接字的输出流。
public InetAddress getInetAddress() 解释:返回套接字连接的地址
ServerSocket
public ServerSocket(int port) 解释:创建绑定到特定端口的服务器套接字。
public InetAddress getInetAddress() 解释:返回此服务器套接字的本地地址。
public Socket accept() 解释:侦听并接受到此套接字的连接。此方法在连接传入之前一直阻塞。
URL
public URL(String spec) 解释:根据 String 表示形式创建 URL 对象。
public String getFile() 解释:此 URL 的文件名,如果没有文件名,则返回一个空字符串
public String getProtocol() 解释:获取此 URL 的协议名称
public int getPort() 解释:获取此 URL 的端口号。
public String getPath() 解释:获取此 URL 的路径部分。
public String getQuery() 解释:获取此 URL 的查询部分。
public final InputStream openStream() 解释:打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。
public URLConnection openConnection() 解释:返回一个 URLConnection 对象,它表示到 URL 引用的远程对象的连接
URLConnection
public InputStream getInputStream() 解释:返回从此打开的连接读取的输入流。
public OutputStream getOutputStream() 解释:返回写入到此连接的输出流。
public String getHeaderField(String name) 解释:返回指定的头字段的值。
相关文章推荐
- 黑马程序员_Java网络编程概述
- 黑马程序员 java语言网络编程概述
- 黑马程序员Java培训、Android培训_网络编程的基础知识
- java网络编程概述
- 黑马程序员_Java网络编程
- 黑马程序员_java网络编程
- 黑马程序员--第二阶段--JAVA网络编程--第23天
- 黑马程序员 (6)JAVA网络编程部分
- 黑马程序员——Java网络编程基础
- 黑马程序员Java基础之网络编程(net)
- 黑马程序员--第二阶段--JAVA网络编程--第24天
- 黑马程序员—java网络编程
- 黑马程序员--java网络编程
- java网络编程概述
- java网络编程概述
- Java网络编程从入门到精通(1):Internet地址概述
- 黑马程序员Java培训和Android培训_网络编程
- 黑马程序员_王康java 网络编程
- 黑马程序员——Java网络编程
- 黑马程序员——java语言——网络编程