j2me中已经实现通过cmwap连接到socket服务器,但发送数据无法收到回应,零字节
想要实现一个基于socket的手机聊天程序,聊天服务器已经用socket开发完成,但现在客户端是用手机,通过移动cmwap的网络,只能访问HTTP,现在已经实现以下功能(步骤),
1. 连接到10.0.0.172:80移动网关
SocketConnection socket = (SocketConnection)Connector.open("socket://10.0.0.172:80");
2. 发送远程聊天服务器连接信息:
String header = "CONNECT " + server + ":" + port + " HTTP/1.1\r\nUser-Agent: CMWAP Proxy\r\n";
OutputStream os = socket.openOutputStream();
os.write(header.getBytes());
并能收到类似 HTTP/1.1 200....等信息
InputStream is = socket.openInputSteam();
byte data[] = new byte[1024];
int rb = 0;
int len = 0;
while((rb = dis.read()) != -1) {
data[len++] = (byte)rb;
}
byte da[] = new byte[len];
for (int i = 0; i < len; i++) {
da[i] = data[i];
}
String s = new String(da);
//还有,这里的数据复制有点笨哈.
但是,接下来我要完成真正的与聊天服务器联系,却老是出错:
byte[] bytes = "hello".getBytes();
for (int i =0; i < bytes.length; i++) {
os.write(bytes[i]);
}
os.flush();
发送数据可以成功,但随后的接收数据却总是0长度.
byte data[] = new byte[1024];
int rb = 0;
int len = 0;
DataInputStream dis = new DataInputStream(is);
while((rb = dis.read()) != -1) {
data[len++] = (byte)rb;
}
len始终是0.
请问有人已经在cmwap下通过这种方式进行过socket连接实验吗?该如何实现?