分类:
2008-09-11 14:25:51
首先看一下,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]