最上层的接口是Connection接口,其他的接口都从它那里继承。在Connection中只定义了一个方法close()。
在我们的现实世界中通常使用的是分组数据交换和电路交换,因此在联网框架中相应的定义了DatagramConnection和StreamConnection。
由于在基于流传输中我们需要对输入流和输出流通是具有操作的能力,因此StreamConnection扩展了InputConnection和OutputConneciton,我们经常使用的Conn.openInputStream(),conn.openOutputStream()方法都是在这两个重要的接口中定义的。
StreamConnectionNotifier接口定义了连接监听器应该具备的能力,它的方法acceptAndOpen()方法返回一个StreamConnection类型的连接,ServerSocketConnection继承了StreamConnectionNotifier接口,这样如果你将你得设备做为socket server的时候就可以通过使用这样的URL:socket://:port在你的设备上建立监听端口等待连接。
SocketConnection继承了StreamConnection正好可以和ServerSocketConnection交相辉映。
UDPDatagramConnection则是为了在分组数据交换中使用,他继承了DatagramConnection接口。
ContentConnection接口中只定义了三个方法getEncoding(),getLength()和getType(),我们非常熟悉的HttpConnection就是他的子类,在HttpConnection中定义了大量的操作,Http联网功能也是MIDP规范中要求厂商必须支持的连接方式。现在你应该对层次比较清楚了吧,继续往下看如何使用GCF。
7.2.2 GCF的使用
GCF的使用非常简单,主要集中在Connector的open()方法上。我们要做的就是提供一个标准的URL参数传递给open方法,例如为了得到一个HttpConnection我们应该写类似下面的代码:
String url = “http://myip:myport/myservlet”;
HttpConnection httpConn = (HttpConnection)Connector.open(url);