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

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 地址的指定端口号。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: