散分了!为什么我的J2ME连网程序每次联网返回的都是移动的联网确认?如何避免它?

cici_chen 2007-11-09 04:47:36
为什么我的J2ME连网程序每次联网返回的都是移动的联网确认?如何避免它?
我的程序如下:
HttpConnection hc = null;
DataInputStream dis = null;
DataOutputStream dos = null;
try
{
if(MainMidlet.gprsApn.equals("CMNET")) //cnnet connection
{
hc = (HttpConnection) Connector.open("http://"
+ MainMidlet.host
+ ":"
+ MainMidlet.servletPort
+ "/"
+ MainMidlet.servletPath
, Connector.READ_WRITE,true); }
else //cnwap connection
{
hc = (HttpConnection)Connector.open("http://10.0.0.172:80"
+ "/"
+ MainMidlet.servletPath
, Connector.READ_WRITE, true);
hc.setRequestProperty("X-Online-Host"
, MainMidlet.host
+ ":"
+ MainMidlet.servletPort);
} hc.setRequestMethod(HttpConnection.POST);
hc.setRequestMethod(HttpConnection.POST);
hc.setRequestProperty("User-Agent","Profile/MIDP-2.0 Configuration/CLDC-1.0");

dos = hc.openDataOutputStream();
dos.writeUTF(msg);

if (dos != null)
{
dos.close();
dos = null;
}

if(hc.getResponseCode() == 200)
{
dis = hc.openDataInputStream();

String resPkg = null;//返回的消息
resPkg = dis.readUTF();

if(resPkg != null)
resPkg = resPkg.trim();

if(MainMidlet.DEBUG)
{
System.out.println("return="+ resPkg);
System.out.println("StringLen="+ resPkg.length());
System.out.println("StringByte="+ resPkg.getBytes().length);
}
return resPkg;
}
else//if(hc.getResponseCode() == 200)
{
if(this.canceled)
return ERR_CANCEL_REQUEST;
else
return ERR_RESPONSE_CODE;
}
}
catch(IllegalArgumentException e)
{
if(this.canceled)
return ERR_CANCEL_REQUEST;
else
return ERR_ILLEGAL_ARGUEMENT;
}
catch(ConnectionNotFoundException e)
{
if(this.canceled)
return ERR_CANCEL_REQUEST;
else
return ERR_CONNECTION_NOT_FOUND;
}
catch(IOException e)
{
if(this.canceled)
return ERR_CANCEL_REQUEST;
else
return ERR_IO;
}
catch(Exception e)
{
if(this.canceled)
return ERR_CANCEL_REQUEST;
else
return ERR_OTHER;
}
finally
{
try
{
if (dis != null)
{
dis.close();
dis = null;
}
if (dos != null)
{
dos.close();
dos = null;
}
if (hc != null)
{
hc.close();
hc = null;
}
}
catch (Exception e)
{
if(this.canceled)
return ERR_CANCEL_REQUEST;
else
return ERR_CLOSE_RESOURCE;
}
}
...全文
138 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Raylu 2007-11-15
  • 打赏
  • 举报
回复
就是要连两次吧
cuilichen 2007-11-13
  • 打赏
  • 举报
回复
livecn 2007-11-12
  • 打赏
  • 举报
回复
联网之后只会问一次吧,之后再发同样的请求就不问了。
c30gcrk 2007-11-12
  • 打赏
  • 举报
回复
嗯,11.8号移动改了2次确定的设置,报文跟结构都改了,也不需要每次都点,只要手机上过一次网,确认过一次,之后就不需要了.
我blog里帖了下新闻.
我这里也是2次连接解决的,更好的方法还米找到.
cici_chen 2007-11-11
  • 打赏
  • 举报
回复
跪求
比2次请求更好的方法...
否则,在北京,我发现用索爱的手机每次都会连两遍,本来只是一个短消息的交互却要每次都连移动的咨费确认,这样太浪费流量了.
而且速度上也是一个问题...
oliveyuganfei 2007-11-11
  • 打赏
  • 举报
回复
联网设置成只询问一次就行了
网络咖啡 2007-11-11
  • 打赏
  • 举报
回复
连2次就可以了
cici_chen 2007-11-11
  • 打赏
  • 举报
回复
不能让移动知道这是应用程序连接,不进行确认的办法吗?
实在没办法的话...
移动的那个打开取消提示的地址打开应该也可以了吧
cici_chen 2007-11-11
  • 打赏
  • 举报
回复
不会吧...这个方法我一开始就想过了.
不过也太搓了吧.......
yanhan0615 2007-11-09
  • 打赏
  • 举报
回复
做一个检测,如果是确认页面,那么重新连接

13,097

社区成员

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

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