首先, 跟网络连接等有关的一些类/接口都在javax.microedition.io.*这个包下.
对于基于TCP连接的Socket程序, 有如下几个非常重要的类/接口:
Class Connector: 工厂类, 用于创建各种连接, 最主要的方法是open()
Interface ServerSocketConnection: 可用上面的open方法创建一个socket连接流.
如: ssc = (ServerSocketConnection)Connector.open("socket://:3456");
Interface SocketConnection: socket连接流,
在服务器端, 可以通过acceptAndOpen()方法来监听是否有客服端连接, 连接成功, 返回一个SocketConnection, 否则处于等待阻塞状态.
如: sc = (SocketConnection)ssc.acceptAndOpen();
在客服端, 可以通过Connector类的open方法连接到一个服务器上,
如: sc = (SocketConnection)Connector.open("socket://127.0.0.1:3456");
最后就是通讯了, 可以通过前面得到的SocketConnection, 来打开输入/输出流,
如: dos = (DataOutputStream)sc.openDataOutputStream();
dis = (DataInputStream)sc.openDataInputStream();
一个简单的测试程序:
服务器端: ServerSocket.java
客服端: ClientSocket.java
ps: 这里只是作为测试程序, 实际的聊天系统应该是:客服端->服务器->客服端模式.