诺基亚N70上在CMNET下走 Socket协议使用SocketConnection 类的问题

wjxiang 2007-05-10 10:28:09
我现在要通过Socket把某数据传到服务器上去
在模拟器上是已经完全可以的
但放到N70的手机上不行,在N70的手机上如果走http,手机还会提示一下连网,而使用这个手机反而没有提示,程序就一直停在那里。
我已经手机的连接设置里面接入点设置成了 cmnet了,
不知道是什么原因,请教大家!

我程序的部分代码如下:
SocketConnection connStream=( SocketConnection )
Connector.open("socket://www.xxxxxx.com:80");

connStream.setSocketOption(SocketConnection.DELAY, 0);
connStream.setSocketOption(SocketConnection.KEEPALIVE,0);

OutputStream outStream=connStream.openOutputStream();

String head="POST /api/upload/ HTTP/1.1\r\nContent-Type: multipart/form-data; boundary=-----------------------2ab239e8f932c4d\r\nHost: www.xxxxxx.com\r\nContent-Length: "+String.valueOf(sendbyte.length)+"\r\n\r\n";
outStream.write(head.getBytes());
outStream.write(sendbyte);
outStream.flush();

...全文
780 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjsjava 2007-10-24
  • 打赏
  • 举报
回复
最近做了一个小东西,已经实现了SOCKET走CMNET,但是端口可以随意的,只要各位不选择什么80,8080.估计不会出这些什么认证问题。
zl1439188 2007-10-12
  • 打赏
  • 举报
回复
楼上的,NOKIA的PC套通过手机上网,也是通过HTTP代理实现的
我刚学J2ME,用SOCKET编程,在模拟器上正常运行,但到NOKIA S60机器上,SOCKET就没有反映啊
手机是NOKIC 6120C
saltedfish_zl 2007-05-16
  • 打赏
  • 举报
回复
to xjff993:
如果cmwap不让建立socket连接,那么s60 v1上的symbian联网应用如何进行网络连接?
我所知道和用过的方式,在s60 v1上做symbian网络应用,只能用socket连cmwap,进行http数据的传输.
现在没有s60 v1手机进行测试了,不清楚现在是种什么情况,还请多多说明一下,谢谢!

cmnet似乎应该一直都可以进行socket连接啊............
否则笔记本用手机上网,该如何办啊?

saltedfish
xjff993 2007-05-16
  • 打赏
  • 举报
回复
模拟器是肯定可以的,因为模拟器并没有通过移动网关,所以不会被屏蔽
xjff993 2007-05-16
  • 打赏
  • 举报
回复
移动现在不让cmnet走socket了,现在cmwap和cmnet联网应用都不能用socket,你可以随便下几个联网游戏,比如“移动玩家”、“中游五子棋”,原本CMNET可以玩现在都不能玩了,我也是做联网游戏的,现在只能用HTTP连服务器了
yanhan0615 2007-05-10
  • 打赏
  • 举报
回复
我试过用Socket走移动网关10.0.0.172:80的时候,确实没有签名是会抱java.lang.securityException的,但是我不确定访问其他服务器的80端口会不会这样,但是看这个症状来说,应该是没有签名的原因

另:你可以到verySign去买证书来自己签,那样的话比较便宜
wjxiang 2007-05-10
  • 打赏
  • 举报
回复
哦,上面在N70上跳出 异常: java.lang.securityException
估计是手机阻止了走Socket

这里在想,如果把这个软件拿到官方去签名认证一下
是不是手机就不会阻止这个了?

还请炮炮大哥帮忙解析一下。

谢谢!
Red_angelX 2007-05-10
  • 打赏
  • 举报
回复
最近刚开始搞n72 帮顶
liujun999999 2007-05-10
  • 打赏
  • 举报
回复
楼主加我qq187235687
我和楼主遇到类似问题,可以讨论一下
http://community.csdn.net/Expert/TopicView1.asp?id=5522547
cuilichen 2007-05-10
  • 打赏
  • 举报
回复
一般使用socket的时候,都不要使用80和8080端口。
yanhan0615 2007-05-10
  • 打赏
  • 举报
回复
TO:redduke1202

我觉得应该是这样
「已注销」 2007-05-10
  • 打赏
  • 举报
回复
那如果自定义一个端口,是不是就没这个问题了?
saltedfish_zl 2007-05-10
  • 打赏
  • 举报
回复
当一个untrusted应用用socketconnection来执行TCP连接到http的80或8080端口以及https的443端口,都必须抛出异常:java.lang.securityexcepion
当一个untrusted应用用secureconnection连接https的443端口,必须抛出异常:java.lang.securityexcepion
当一个untrusted应用用datagramconnection连接9200-9203端口(wap gateway),必须抛出异常:java.lang.securityexcepion

规范原文如上.
saltedfish
wjxiang 2007-05-10
  • 打赏
  • 举报
回复
针对楼上的
这里走的不是http协议
而是socket

也有可能想上面有人指点的那样 是端口的问题
不知道如果改成其他端口是否可以?

但愿是 软件没有签名的问题
这个软件是准备签名的
saltedfish_zl 2007-05-10
  • 打赏
  • 举报
回复
LZ还是看MIDP2规范吧,socket连80端口,走http协议,必须是trusted的MIDlet.

saltedfish

13,100

社区成员

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

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