您的位置:首页 > 理论基础 > 计算机网络

黑马程序员_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)   解释:返回指定的头字段的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息