j2me中已经实现通过cmwap连接到socket服务器,但发送数据无法收到回应,零字节

volkia 2008-12-16 01:49:33
想要实现一个基于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连接实验吗?该如何实现?
...全文
175 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
biaozai06 2008-12-16
  • 打赏
  • 举报
回复
CMWAP只提供了WAP代理和HTTP代理,手机上网能访问的范围有限,接入时只能访问GPRS网络内的IP (10.*.*.*),所以LZ能连接到10.0.0.172:80,但是String header = "CONNECT " + server + ":" + port + " HTTP/1.1\r\nUser-Agent: CMWAP Proxy\r\n"; 不一定能成功,sever是否在WAP的(10.*.*.*)范围内?如果不是,当然会连接失败了

如果要访问(10.*.*.*)以外的IP,可以使用cmnet。
yanhan0615 2008-12-16
  • 打赏
  • 举报
回复
看另一个帖子,访问不了的!之所以172可访问,因为他是移动网关,除非你给移动钱,他把你服务器认证了可行,否则用CMwap就不可访问,可以用cmnet做
volkia 2008-12-16
  • 打赏
  • 举报
回复
谢谢回复,由于发贴时服务器响应太慢,发了两次,请转到
前一篇一起讨论好吗?
另, 移动的10.0.0.172:80端口是可以进行访问代理的,所以手机上的其它网络程序也才能运行啊。
内容概要:本文详细介绍了利用Simulink进行变压器开路试验的电路连接配置与仿真实现方法,重点在于通过仿真手段还原实际电力系统变压器在空载条件下的电气特性,从而深入理解其工作原理与性能表现。文章作为电力系统仿真系列研究的一部分,系统阐述了从电路模型搭建、参数设定、仿真运行到结果分析的完整流程,突出展示了MATLAB/Simulink在电力设备建模与教学科研的强大功能与应用价值。; 适合人群:具备电力系统基础知识,熟悉MATLAB/Simulink仿真环境,从事电气工程、自动化及相关领域的研发人员,以及高年级本科生和研究生。; 使用场景及目标:①掌握变压器开路试验的基本原理与Simulink仿真建模的具体步骤;②通过仿真实验深入理解空载电流、铁芯损耗及励磁特性等关键参数的物理意义;③为后续开展变压器短路试验、暂态过程分析以及其他电力设备的仿真研究奠定理论与实践基础。; 阅读建议:建议结合Simulink软件动手实践,逐步构建并调试电路模型,重点关注各元件参数的设置方法与测量模块的应用技巧,同时推荐参考文提及的其他相关仿真案例进行拓展学习,以全面提升对电力系统仿真实践的整体认知与操作能力。

13,096

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧