Java通过Internet进行通信

包: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();

 

 

 

 

 

posted @ 2013-05-28 23:26  ty10114g  阅读(199)  评论(0编辑  收藏  举报