Chinaunix首页 | 论坛 | 博客
  • 博客访问: 753604
  • 博文数量: 771
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-11 14:24
文章分类

全部博文(771)

文章存档

2011年(1)

2008年(770)

我的朋友

分类:

2008-09-11 14:25:51

  在J2ME中基于UDP编程一文中介绍了如何使用Datagram和DatagramConnection来开发应用程序,本文将主要讲述在MIDP2.0中使用ServerSocketConnection和SocketConnection来开发联网应用程序。TCP是可以保证传输的质量的,这也是他和UDP的一大区别。由于以上谈到的四个类都属于GCF,他们在程序编写方面也非常相似,通常我们在Server端的某个端口监听,当客户端连接的时候,则可以得到一个SocketConnection的实例。通过两端的SocketConnection则可以实现C/S结构的通信了。

  首先看一下,ServerSocketConnection类,它的一个非常重要的方法就是acceptAndOpen()方法,这个方法返回一个SocketConnection实例,从而使得客户端和端可以通过socket通信了。典型的代码如下:

// Create the server listening socket for port 1234

ServerSocketConnection scn = (ServerSocketConnection)

Connector.open("socket://:1234");

// Wait for a connection.

SocketConnection sc = (SocketConnection) scn.acceptAndOpen();

// Set application specific hints on the socket.

sc.setSocketOption(DELAY, 0);

sc.setSocketOption(LINGER, 0);

sc.setSocketOption(KEEPALIVE, 0);

sc.setSocketOption(RCVBUF, 128);

sc.setSocketOption(SNDBUF, 128);

// Get the input stream of the connection.

DataInputStream is = sc.openDataInputStream();

// Get the output stream of the connection.

DataOutputStream os = sc.openDataOutputStream();

// Read the input data.

String result = is.readUTF();

// Echo the data back to the sender.

os.writeUTF(result);

// Close everything.

is.close();

os.close();

sc.close();

scn.close();

..

  SocketConnection的使用也是非常简单,通过Connector的open方法我们可以得到一个SocketConnection的实例。

SocketConnection sc = (SocketConnection)

Connector.open("socket://host.com:79");

sc.setSocketOption(SocketConnection.LINGER, 5);


InputStream is = sc.openInputStream();

OutputStream os = sc.openOutputStream();


os.write("\r\n".getBytes());

int ch = 0;

while(ch != -1) {

 ch = is.read();

}


is.close();

os.close();

sc.close();

  其实我们在用socket编写程序的时候无非遵循这样的一种规则:服务器端建立监听端口等待连接,客户端通过open()方法与服务器端建立连接,两端通过建立的socket传输数据,关闭连接。

  下图是我在运行WTK中NetworkDemo的时候的截图!代码也一并发表出来。


 

[1]  

【责编:yuan】

相关文章
没有相关文章
编辑推荐
· []
· []
· []
· []
· []
· []
· []
· []
· []
· []
相关产品和培训
文章评论
 友情推荐链接
·
·
·
·
·
·
·
·
·
·

--------------------next---------------------

阅读(457) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~