第九周学习笔记
URL类
- 属于
java.net
包 - 最基本三部分:协议(对象所在的Java虚拟机支持)、地址(能连接的有效IP地址或域名)、资源(主机上的任何一个文件)
- 常用构造方法
-
public URL (String spec) thows MalformedURLException
,使用字符串初始化对象 -
public URL(String protocol, String host, int port, String file, URLStreamHandler handler)
可根据指定的protocol、host、port
号、file
和handler
创建 URL 对象。 -
对象调用
InputSream openStream()
方法可以返回一个输入流,指向对象所包含的资源InetAddress类
- 域名服务器DNS负责将域名转化成IP地址,和主机建立连接
- 获取主机地址:
getByName(String s)
域名或IP地址传给参数s,获得InetAdderss对象 -
获取本地机地址:
getLocalHost()
获得InetAdderss对象,含本地机的域名和IP地址套接字
- 网络通信使用IP地址标识Internet上的计算机,使用端口号(16位的0~65535之间的整数,0~1023被预先定义的服务占用)标识服务器上的进程
- 两个程序通过使用Socket类建立套接字对象并连接在一起实现通信
- 客户端套接字
- Socket (String host,iint port),参数host是服务器的IP地址,port是一个端口号。
- 建立套接字对象的方法可能出现IOException异常,所以要采用try-catch的方法
- ServerSocket对象与服务器端套接字
- 构造方法:(int port),port是一个端口。port必须和客户呼叫的端口号相同。也要使用try-catch方法。
- 建立连接后,服务器套接字对象调用getInetAddress()方法可以获取一个InetAddress对象,该对象含有客户端的IP地址和域名。
- 双方通信完毕后,套接字应使用close()方法关闭套接字连接。
- 采用多线程技术
- 可以用Socket类的不带参数的构造方法Socket()创建一个套接字对象,该兑现调用public void connect(Socket Address endpoint) throws IOException请求和参数SocketAddress指定的服务器对接。
在套接字通信中,有两个基本原则:1、服务器应当启动一个专门的线程,在该线程中和客户的套接字进行对接。2、 由于套接字的输入流在读取消息时可能发生阻塞,客户端和服务器端都需要在一个单独线程读取信息。