java中的网络编程学习笔记_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java中的网络编程学习笔记

java中的网络编程学习笔记

 2014/8/4 9:28:47  jingjing0907  程序员俱乐部  我要评论(0)
  • 摘要:Java编程中提供了强大的网络编程功能,能够处理各种网络资源,以及进行网络通信。Java.net包定义了java语言网络编程的主要工具类。其中,包括代表网络IP地址的InetAddress类;与URL有关的URL类,和URLConnection类;与网络通信有关的Socket类和ServerSocket类。协议是实现信息通信的重要手段,通俗的讲:就是不同对象之间沟通时遵循的原则和规则。TCP(传输控制协议),IP(Inernet协议),UDP(用户数据报协议)1
  • 标签:笔记 学习 Java 网络 编程 学习笔记

class="p0">Java编程中提供了强大的网络编程功能,能够处理各种网络资源,以及进行网络通信。Java.net包定义了java语言网络编程的主要工具类。其中,包括代表网络IP地址的InetAddress类;与URL有关的URL类,和URLConnection类;与网络通信有关的Socket类和ServerSocket类。协议是实现信息通信的重要手段,通俗的讲:就是不同对象之间沟通时遵循的原则和规则。TCP(传输控制协议),IP(Inernet协议),UDP(用户数据报协议)

1、什么是网络编程

??Java语言提供了强大的网络编程功能,能够处理各种网络资源以及进行网络通信,这些网络功能都包含在java.net包中。

Net包的内容大体分为3类:

1):网络资源类:URL是资源的表达方式,在java.net包中主要通过URLInetAddress类来表示和操作网络中的资源。

2)Socket(套接字)类:Socket(套接字)用来实现网络编程中客户端和服务器的连接。Java.net包定义的Socket类和ServerSocket类分别代表通信双方的客户端和服务器端。

3)Datagram(数据报)类:Datagram类以数据报的形式实现网络通信,是基于无连接的UDP协议的一种网络通信方式。

2、InetAddress

???InetAddress类用来表示网络上的IP地址。网络中的每台主机采用IP地址进行标识,java语言中的InetAddress类对IP地址进行封装,该类提供了操作IP地址的各种方法,类本身没有构造函数,而是通过调用相关静态方法获取实例。InetAddress类中定义的主要方法如下:

equels(Object?obj):将此对象与指定对象比较。

getAddress():返回此InetAddress对象的原始IP地址。

getAllByName(String?host):在给定主机名的情况下,根据系统上配置的名称,服务返回其IP地址所组成的数组。

getByAddress(byte[]?addr):在给定原始IP地址的情况下,返回InetAddress对象

getHostName():获取IP地址的主机名。

getHostAddress():返回IP地址字符串。

getLocalHost():返回本地主机。

hashCode():返回此IP地址的哈希吗。

toString():将此IP地址转化为String

其他方法请查阅API?文档。

3、URL编程

???Java.net包中定义了URLURLConnection类来处理有关URL的内容。

协议是实现信息通信的重要手段。

?URL:是统一资源定位符的简称,用于表示Internet上某一资源的地址。浏览器通过解析给定的URL可以查找网络上的这些资源,格式如下:

网络传输协议(protocol):资源名(resourceName)

参数protocol表示网络传输协议,如;httpftp等。

参数resourceName表示完整的资源名,又可以分为主机名、端口号、和文件几个部分。

例如:http://www.sina.com.cn

对于大部分协议,主机名和文件名同城是必须的,而端口号有时可以省略。

1)、创建URL

??URL类的构造函数有一下几种:

URI(String?str)??通过解析给定的字符串构造一个?URI。

URI(String?protocol,?String?host,?String?file)??

使用指定的协议,主机名,文件名创建。

URI(String?protocol,?String?host,?int?port,?String?file)?

使用指定的协议,主机名,端口号,及文件名创建

URI(String?context,?String?spes):使用基地址和相对URL创建?

2)、使用URL

??URL类主要的方法请查阅API文档

3)URLConnection

??在java.net包中定义了URLConnction类,该类用来表示与URL建立通信连接。URLConnection类的实例通过调用URL类的openConnetion()方法获得。主要方法请查阅API文档。

4、Socket编程

基于TCP协议的Socket编程:在TCP协议中,对于一个特定连接,要求每台计算机都有一个Socket用做通信的输入输出端口。

在创建Socket对象时,作为服务器端的程序与作为客户端的程序采用的类是不同的,服务器端用ServerSocket类创建Socket对象,客户端则用Socket类创建Socket对象。

??Socket类:表示套接字,在客户端创建的Socket对象与服务器端创建的Socket对象连接后即形成信息通道。

??ServerSocket类:描述网络服务器。ServerSocket对象表示建立一个网络服务器去等待接收由客户端传来的请求。

TCP协议下的Socket网络通信过程:

?TCP协议下的Socket通信首先从服务器端创建一个指定端口号的ServerSocket对象开始,接着运行ServerSocket对象的accept()方法等待客户端的请求,以便建立连接。在ServerSocket对象等待的过程中,如果客户端创建一个指向服务器端计算机和服务器端指定端口的Socket对象,且这个Socket对象想服务器端发出连接请求,那么ServerSocket对象就会接收到请求信息。当ServerSocket对象收到请求信息后紧接着会在本地创建一个Socket对象与客户端的Socket对象进行连接,从而让形成通道,

连接建立后,服务器端和客户端可分别建立输入/输出数据流进行数据传输。当通信结束后,需要关闭两端的Socket连接。最后,ServerSocket对象调用close()方法停止等待客户端请求。

?

??

??

?????

?

?

?

<!--EndFragment-->
发表评论
用户名: 匿名