Java网络编程
2011-09-19 20:53
211 查看
一. 网络基础知识
1网络基本概念:
(1)网络体系结构
该模型把计算机网络分成物理层、数据链路层、网络层、传输层、会话层、表示层、应用层等七层。
2通信协议
TCP协议:提供可靠的数据传输服务的规则。
IP协议进行IP数据包的分割和组装。
3.IP地址和端口号
(1) IP地址:为实现在网络中不同计算机之间的通信,在网络中的每台机器都必须有一个于总怒同的标识,、
(2) 端口。表示数据交给那个通信程序程序处理,端口就是应用程序与外界交流的入口
JAVA的基本网络应用
A.公认端口(Well Known Ports):从0到1023,它们紧密绑定(Binding)一些服务。
B.注册端口(Registered Ports):从1024到49151。它们松散地绑定一些服务。
C.动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535,这些端口是应用程序使用的动态端口,应用程序一般不会主动使用这些端口
4.InetAddress:用于描述IP地址的对象
1. InetAddress
(1)getByName(String host):根据主机获取对应的InetAddress对象。
(2)getByAddress(byte[] addr):根据原始IP地址来获取对应的InetAddress对象。
5.在JAVA中实现UDP协议
1UDP:是用户协议,是一种无连接协议,每个数据包都是一个独立的信息,到达目的地的时间一级人诶荣的正确性都是不能被保护的。
2在JAVA中操作UDP
6.在Java中操纵UDP
(1)DatagramSocket类:创建接收和发送UDP的Socket实例
DatagramSocket(int port):创建实例,并固定监听Port端口的报文。
DatagramSocket():创建实例。通常用于客户端编程,它并没有特定监听的端口,仅仅使用一个临时的。
DatagramSocket(int port, InetAddress localAddr):这是个非常有用的构建器,当一台机器拥有多于一个IP地址的时候,由它创建的实例仅仅接收来自LocalAddr的报文。
receive(DatagramPacket d):接收数据报文到d中。receive方法产生一个“阻塞”。
send(DatagramPacket d):发送报文d到目的地。
setSoTimeout(int timeout):设置超时时间,单位为毫秒。
close():关闭DatagramSocket。在应用程序退出的时候,通常会主动释放资源,关闭Socket,但是由于异常地退出可能造成资源无法回收。所以,应该在程序完成时,主动使用此方法关闭Socket,或在捕获到异常抛出后关闭Socket。
(2)DatagramPacket:用于处理报文,将byte数组、目标地址、目标端口等数据包装成报文或者将报文拆卸成byte数组。
DatagramPacket(byte[] buf, int length, InetAddress addr, int port):从buf数组中,取出length长的数据创建数据包对象,目标是addr地址,port端口。
DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port):从buf数组中,取出offset开始的、length长的数据创建数据包对象,目标是addr地址,port端口。
DatagramPacket(byte[] buf, int offset, int length):将数据包中从offset开始、length长的数据装进buf数组。
DatagramPacket(byte[] buf, int length):将数据包中length长的数据装进buf数组。
getData():它从实例中取得报文的byte数组编码。
7.ServerSocket:编写TCP网络服务程序,首先要用到java.net.ServerSocket类用以创建服务器Socket
(1)构造方法:
ServerSocket(int port):创建绑定到特定端口的服务器套接字
ServerSocket(int port, int backlog):利用指定的backlog(服务器忙时保持连接请求的等待客户数量),创建服务器套接字并将其绑定到指定的本地端口号。
ServerSocket(int port, int backlog, InetAddress bindAddr):使用指定的端口、侦听 backlog 和要绑定到的本地 IP 地址创建服务器。
8、 Socket:客户端要与服务器建立连接,必须先创建一个Socket对象
常用构造方法
Socket(String host, int port):创建一个流套接字并将其连接到指定主机上的指定端口号。
Socket(InetAddress address, int port):创建一个流套接字并将其连接到指定 IP 地址的指定端口号。
1网络基本概念:
(1)网络体系结构
该模型把计算机网络分成物理层、数据链路层、网络层、传输层、会话层、表示层、应用层等七层。
2通信协议
TCP协议:提供可靠的数据传输服务的规则。
IP协议进行IP数据包的分割和组装。
3.IP地址和端口号
(1) IP地址:为实现在网络中不同计算机之间的通信,在网络中的每台机器都必须有一个于总怒同的标识,、
(2) 端口。表示数据交给那个通信程序程序处理,端口就是应用程序与外界交流的入口
JAVA的基本网络应用
A.公认端口(Well Known Ports):从0到1023,它们紧密绑定(Binding)一些服务。
B.注册端口(Registered Ports):从1024到49151。它们松散地绑定一些服务。
C.动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535,这些端口是应用程序使用的动态端口,应用程序一般不会主动使用这些端口
4.InetAddress:用于描述IP地址的对象
1. InetAddress
(1)getByName(String host):根据主机获取对应的InetAddress对象。
(2)getByAddress(byte[] addr):根据原始IP地址来获取对应的InetAddress对象。
5.在JAVA中实现UDP协议
1UDP:是用户协议,是一种无连接协议,每个数据包都是一个独立的信息,到达目的地的时间一级人诶荣的正确性都是不能被保护的。
2在JAVA中操作UDP
6.在Java中操纵UDP
(1)DatagramSocket类:创建接收和发送UDP的Socket实例
DatagramSocket(int port):创建实例,并固定监听Port端口的报文。
DatagramSocket():创建实例。通常用于客户端编程,它并没有特定监听的端口,仅仅使用一个临时的。
DatagramSocket(int port, InetAddress localAddr):这是个非常有用的构建器,当一台机器拥有多于一个IP地址的时候,由它创建的实例仅仅接收来自LocalAddr的报文。
receive(DatagramPacket d):接收数据报文到d中。receive方法产生一个“阻塞”。
send(DatagramPacket d):发送报文d到目的地。
setSoTimeout(int timeout):设置超时时间,单位为毫秒。
close():关闭DatagramSocket。在应用程序退出的时候,通常会主动释放资源,关闭Socket,但是由于异常地退出可能造成资源无法回收。所以,应该在程序完成时,主动使用此方法关闭Socket,或在捕获到异常抛出后关闭Socket。
(2)DatagramPacket:用于处理报文,将byte数组、目标地址、目标端口等数据包装成报文或者将报文拆卸成byte数组。
DatagramPacket(byte[] buf, int length, InetAddress addr, int port):从buf数组中,取出length长的数据创建数据包对象,目标是addr地址,port端口。
DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port):从buf数组中,取出offset开始的、length长的数据创建数据包对象,目标是addr地址,port端口。
DatagramPacket(byte[] buf, int offset, int length):将数据包中从offset开始、length长的数据装进buf数组。
DatagramPacket(byte[] buf, int length):将数据包中length长的数据装进buf数组。
getData():它从实例中取得报文的byte数组编码。
7.ServerSocket:编写TCP网络服务程序,首先要用到java.net.ServerSocket类用以创建服务器Socket
(1)构造方法:
ServerSocket(int port):创建绑定到特定端口的服务器套接字
ServerSocket(int port, int backlog):利用指定的backlog(服务器忙时保持连接请求的等待客户数量),创建服务器套接字并将其绑定到指定的本地端口号。
ServerSocket(int port, int backlog, InetAddress bindAddr):使用指定的端口、侦听 backlog 和要绑定到的本地 IP 地址创建服务器。
8、 Socket:客户端要与服务器建立连接,必须先创建一个Socket对象
常用构造方法
Socket(String host, int port):创建一个流套接字并将其连接到指定主机上的指定端口号。
Socket(InetAddress address, int port):创建一个流套接字并将其连接到指定 IP 地址的指定端口号。
相关文章推荐
- 参加JAVA网络编程培训
- Java网络编程-IO多路复用(多线程)
- [零散篇]Java学习笔记---Java的Socket网络编程以及多线程
- java的网络编程
- 【学习日记】java网络编程知识点总结
- Java 网络编程
- Socket--java网络编程
- [学习笔记]Java网络编程之TCP通讯
- java基础-Java网络编程和反射
- java基础之网络编程
- Java中的网络编程
- java学习篇------网络编程中的数据读写及发送与接收的机制???
- Java网络编程实践(判断质数)
- java笔记-网络编程-实例操作
- java网络编程中向指定URL发送GET POST请求示例
- SSD8网络的一些事 基于URL的高层次Java网络编程
- RMI网络编程开发之二 如何搭建基于JDK1.5的分布式JAVA RMI 程序
- Java 网络编程
- Java Socket网络编程基础
- Java套接字实现网络编程之基础篇(1)