J2ME中文教程 7 开发无线网络应用程序[6]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

例如

HttpConnection c=(HttpConnection)Connector.open(URL);

InputStream is=c.openInputStream();

c.close();

while((int ch=is.read())!=-1){

   ……

}

is.close();

换句话说连接被关闭了,但依然可以读到缓冲区的数据。但不推荐你这么做,最好是处理完所有的工作后,最后关闭连接。

7.3.3   建立HTTP连接

 

应用程序通过javax.microedition.io.Connector.open这个方法打开连接(在这里要提到的是,这个方法可以打开的不仅仅是HTTP连接,后面所要说的Socket,UDP连接都要通过这个方法打开的)该方法有3个版本,分辨是一个参数、两个参数、和三个参数的。而且该方法是静态的。

 

javax.microedition.io.Connector.open(String name)

javax.microedition.io.Connector.open(String name,int mode)

javax.microedition.io.Connector.open(String name int mode, boolean timeout)

 

这个三个参数分别是连接的字符串读写的类型(javax.microedition.io.Connector.READjavax.microedition.io.Connector.WRITEjavax.microedition.io.Connector.READ_WRITE)超时的时候是否抛出异常。

 

一般情况我们只用到第一个就好了。其中的name 这个参数必须以URI形式提供。比如http://www.j2medev.com。打开一个连接的时候,在服务器响应之前都可能阻塞应用线程。在开发应用程序的时候,一定要确保把打开连接的代码放到一个单独线程中。

 

如下建立连接的一个例子:

HttpConnection c= (HttpConnection) Connector.open("http://www.j2medev.com");

 

得到HttpConnection对象后,建立的连接处于setup的状态。

 

本文关键:J2ME中文教程 7 开发无线网络应用程序
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top