散分了!为什么我的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;
}
}
...全文
110 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
做一个检测,如果是确认页面,那么重新连接
回复
相关推荐
发帖
J2ME
创建于2007-09-28

1.3w+

社区成员

Java J2ME
申请成为版主
帖子事件
创建了帖子
2007-11-09 04:47
社区公告
暂无公告