包:java.net
支持通过超文本传输协议(HTTP)和文件传输协议(FTP)进行连接和检索文件以及在底层处理基本的UNIX式套接字。
要同网络上的系统进行通信,可以采用3中简单的方式:
1、在小程序中使用统一资源定位符(URL)加载网页和其他资源;
2、使用套接字类Socket和ServerSocket,它们建立到主机的标准套接字连接,并通过这种连接执行读写;
3、调用getInputStream(),该方法建立到URL的连接,并通过该连接来获取数据。
一、打开跨越网络的流
要加载网上的文本文档并逐行读取其中的内容,可以通过4步来实现:
1、创建一个表示资源的网络地址的URL对象;
2、创建一个HttpURLConnection对象,它能够加载URL并连接到相应的站点;
3、使用HttpURLConnection对象的getContent()方法来创建一个InputStreamReader,用于读取来自URL的数据流;
4、使用输入流阅读器来创建一个BufferedReader对象,后者能够高效的从输入流中读取字符。
二、套接字
1、创建一个Socket实例:
Socket connection = new Socket(hostName, portNumber);
创建套接字后,应设置其超时值,这个值决定了应用程序将为数据的到来等待多长时间。
connection.setSoTimeOut(50000);
建立套接字后,可以使用输入/输出流来读写它:
DataInputStream in = new DataInputStream(new BufferedInputStream(connection.getInputStream()));
connection.getInputStream()返回一个与套接字相关联的输入流;然后使用该输入流创建了BufferedInputStream,而后者被用来创建一个DataInputStream。
用完套接字以后,需要调用close()方法来关闭。这也将关闭为套接字建立的所有输入输出流。
2、Socket服务器
服务器端套接字的工作原理与客户端套接字类似,只是它还包含accept()方法。
服务器套接字监听TCP端口上的客户连接;当客户连接到该端口时,accept()方法将接收该连接。
创建服务器套接字:
ServerSocket servo = new ServerSocket(8888);参数是端口号
servo.accept();