高会求助 j2me手机网络游戏数据传输问题??

时间:2022-06-01 16:45:01


高会求助 j2me手机网络游戏数据传输问题??

 做这类游戏时一般用什么协议来实现数据传输??

  有源码的更好 会多加分

37 个解决方案

#1


openConnection();

openOutputStream();
write();

openInputStream();
read();

closeOutputStream();
closeInputStream();
closeConnection();

#2


一般采用http协议

#3


不懂,帮顶!

#4


HTTP协议
每隔几秒请求一次数据

#5


http和socket都可以。

http的话需要采取心跳的方式,每隔一段时间就建立一个连接到服务器。

socket是稳定的长连接,建立之后就可以一直使用同一个连接。

#6


学习,帮顶。

#7


http每次连接会弹出确认画面,支持JAVA的手机都支持http
socket在第一次连接会弹,需要MIDP 2.0 

根据不同的需求来用.

#8


引用 4 楼 kf156 的回复:
HTTP协议 
每隔几秒请求一次数据


HTTP 心跳方式怎么实现 时间太长的会影响游戏的整进度? 

还有Socket怎么实现啊?服务端用J2se里的Socket还是用J2me里的Socket?

#9


socket 只能通过 cmnet接入点 接入。 
中国移动的cmwap只支持http和https。
选哪种看客户需要和限制了。
如果数据交换频繁的话,建议还是socket。

#10


不断的请求服务器,进行数据交换
两到三秒请求一次。

socket 要走cmwap会有安全异常,所说签名可以解决

#11


引用 10 楼 kf156 的回复:
不断的请求服务器,进行数据交换 
两到三秒请求一次。 

socket 要走cmwap会有安全异常,所说签名可以解决 


socket 要走cmwap会有安全异常,据说签名可以解决 

#12


引用 8 楼 FireMain 的回复:
引用 4 楼 kf156 的回复:
HTTP协议 
每隔几秒请求一次数据 



HTTP 心跳方式怎么实现 时间太长的会影响游戏的整进度? 

还有Socket怎么实现啊?服务端用J2se里的Socket还是用J2me里的Socket?


应该是用j2me的Socket吧。

#13


?socket还分j2se和j2me吗

#14


up

#15


引用 9 楼 work_in_java 的回复:
socket 只能通过 cmnet接入点 接入。 
中国移动的cmwap只支持http和https。 
选哪种看客户需要和限制了。 
如果数据交换频繁的话,建议还是socket。 


那用socket怎样实现啊
Socket(Url)这个Url该怎么写啊
这个Socket才能通信啊

#16


work_in_java

贴代码多加分。。。。。

#17


再多的分也未必有好用的代码给你!
好用的代码都是商业代码!也不是几行就能搞定的!
建议关注以下技术
j2me网络连接,网络信令,网关,服务器
这些合起来才能做一个联网游戏,联网应用!
就这么给点虚拟的分就想搞定这些技术,是不太现实的!

#18


哈哈
也是哦
   什么都还要靠自己

#19


socket要使用cmnet,虽然现在很多地方cmnet和cmwap都可以包月,但是有些地方cmnet都要贵点。
还有cmnet很多手机都需要重新设置,一般用户使用起来麻烦。如果你做游戏进行广推。这点也比较麻烦。
http的话设置比较方便,移动什么都会有配置短信,而且支持的手机比较多。做游戏还是建议使用http

#20


socket就别用了,我研究了2个礼拜,最后还是放弃.
因为1.在真机上会抛安全异常,需要签名才可以,据说.
   2.中国手机大部分走CMWAP,NOKIA手机有些默认为CMWAP,socket连接必须要有端口,CMWAP只提供172.0.0.10:80这个端口
      如果你有SP跟移动申请的IP和端口才可以连接上.

LZ可以考虑用J2ME+servlet来实现数据交换,网上有很多这种例子.
     

#21


学习了……

#22


引用 16 楼 firemain 的回复:
work_in_java

贴代码多加分。。。。。
代码贴起码可能比较多。J2ME网络编程那块传统的科学的做法是开2个线程,收和发都作为一个独立的线程
WTK的目录下带socket demo的,目录为;
C:\%你本机的WTK目录%\apps\NetworkDemo
里面有源代码可以参考
        

#23



那apps\NetWordDemo例子
跟本没有与真机通讯的能力

    要它Socket 方式能与真机相连成功 要加什么东西啊?
    work_in_java

#24


你的意思是2个手机一个做服务端一个做客户端,这样情况我起码没有做过,首先要想办法得到你作为服务器端的手机的ip地址。这个就挺复杂,现实的应用中也看不到手机做服务端用socket连接的例子。

你在这个例子中在手机上选择 client端, 服务器端肯定没戏。服务端直接连接一个socket服务器,不要把当手机做一个服务端。给你个公用的socket服务器做测试。
socket://pop3.sina.com:110,你在例子中把url改成这个地址就行了

#25


1楼好抽象

#26


引用 24 楼 work_in_java 的回复:
你的意思是2个手机一个做服务端一个做客户端,这样情况我起码没有做过,首先要想办法得到你作为服务器端的手机的ip地址。这个就挺复杂,现实的应用中也看不到手机做服务端用socket连接的例子。

你在这个例子中在手机上选择 client端, 服务器端肯定没戏。服务端直接连接一个socket服务器,不要把当手机做一个服务端。给你个公用的socket服务器做测试。
socket://pop3.sina.com:110,你在例子中把url改成这个地址就行了


如果服务器地址在别人那里

那自己的服务器端该怎么写呢

还有自己的的客户端怎么接收数据呢

#27


我现在正在做一个手机和某服务器进行数据同步的系统,用的就是SOCKET,不过我的是走CMNET网络.CMWAP在中国是不支持SOCKET的,运营商没有提供。

#28


客户端接受数据不都是用输入流 inputstream嘛。 这个例子中的的client.java里面就有客户端接受数据的代码。
至于服务端,首先需要一台PC机,这台PC要有外网地址,这样真机才能通过网络连接到这台机子上。至于服务端怎么写,可以参考这个例子中的server代码。整片copy过来就行了。。。。
而你连接客户端的socket url 就填这台机子的ip地址+端口号就行, 端口号由服务端的这块代码决定
    scn = (ServerSocketConnection) Connector.open("socket://:"
    + portString);
其中portString 就是端口号。

#29


 work_in_java
   能加我的QQ吗?QQ号582110276
   或者我加你的QQ 我发点东西给你
   帮我改一下Scoket的连接方式
   能实现手机与Pc机互相通讯

#30


引用 29 楼 firemain 的回复:
work_in_java
  能加我的QQ吗?QQ号582110276
  或者我加你的QQ 我发点东西给你
  帮我改一下Scoket的连接方式
  能实现手机与Pc机互相通讯
你发个邮件给我吧,把你源代码当附件传过来。我有时间改好了给你传过去。
服务端先用一个已知的。

#31


引用 8 楼 firemain 的回复:
引用 4 楼 kf156 的回复:
 HTTP协议
 每隔几秒请求一次数据


 HTTP 心跳方式怎么实现 时间太长的会影响游戏的整进度?

 还有Socket怎么实现啊?服务端用J2se里的Socket还是用J2me里的Socket?

建议你先根据机型特点选择协议,就算手机支持midp2.0,Scoket也不是一定被支持的。如果需求是给某1款手机做的项目。你先把这款手机的属性弄清楚,省的模拟器编码测试结束后。上真机测试时傻了。

#32


楼主问题解决了?我回信给你了

#33


没有解决 能发不能收

#34


收的问题 我也给你回信了。其实是收到了,只不过你没显示,或者打印出来而已

#35


为什么 会这样呢?

#36


没看过API吗?多看看有好处的

#37


socket 还不被通讯商支持啊

#1


openConnection();

openOutputStream();
write();

openInputStream();
read();

closeOutputStream();
closeInputStream();
closeConnection();

#2


一般采用http协议

#3


不懂,帮顶!

#4


HTTP协议
每隔几秒请求一次数据

#5


http和socket都可以。

http的话需要采取心跳的方式,每隔一段时间就建立一个连接到服务器。

socket是稳定的长连接,建立之后就可以一直使用同一个连接。

#6


学习,帮顶。

#7


http每次连接会弹出确认画面,支持JAVA的手机都支持http
socket在第一次连接会弹,需要MIDP 2.0 

根据不同的需求来用.

#8


引用 4 楼 kf156 的回复:
HTTP协议 
每隔几秒请求一次数据


HTTP 心跳方式怎么实现 时间太长的会影响游戏的整进度? 

还有Socket怎么实现啊?服务端用J2se里的Socket还是用J2me里的Socket?

#9


socket 只能通过 cmnet接入点 接入。 
中国移动的cmwap只支持http和https。
选哪种看客户需要和限制了。
如果数据交换频繁的话,建议还是socket。

#10


不断的请求服务器,进行数据交换
两到三秒请求一次。

socket 要走cmwap会有安全异常,所说签名可以解决

#11


引用 10 楼 kf156 的回复:
不断的请求服务器,进行数据交换 
两到三秒请求一次。 

socket 要走cmwap会有安全异常,所说签名可以解决 


socket 要走cmwap会有安全异常,据说签名可以解决 

#12


引用 8 楼 FireMain 的回复:
引用 4 楼 kf156 的回复:
HTTP协议 
每隔几秒请求一次数据 



HTTP 心跳方式怎么实现 时间太长的会影响游戏的整进度? 

还有Socket怎么实现啊?服务端用J2se里的Socket还是用J2me里的Socket?


应该是用j2me的Socket吧。

#13


?socket还分j2se和j2me吗

#14


up

#15


引用 9 楼 work_in_java 的回复:
socket 只能通过 cmnet接入点 接入。 
中国移动的cmwap只支持http和https。 
选哪种看客户需要和限制了。 
如果数据交换频繁的话,建议还是socket。 


那用socket怎样实现啊
Socket(Url)这个Url该怎么写啊
这个Socket才能通信啊

#16


work_in_java

贴代码多加分。。。。。

#17


再多的分也未必有好用的代码给你!
好用的代码都是商业代码!也不是几行就能搞定的!
建议关注以下技术
j2me网络连接,网络信令,网关,服务器
这些合起来才能做一个联网游戏,联网应用!
就这么给点虚拟的分就想搞定这些技术,是不太现实的!

#18


哈哈
也是哦
   什么都还要靠自己

#19


socket要使用cmnet,虽然现在很多地方cmnet和cmwap都可以包月,但是有些地方cmnet都要贵点。
还有cmnet很多手机都需要重新设置,一般用户使用起来麻烦。如果你做游戏进行广推。这点也比较麻烦。
http的话设置比较方便,移动什么都会有配置短信,而且支持的手机比较多。做游戏还是建议使用http

#20


socket就别用了,我研究了2个礼拜,最后还是放弃.
因为1.在真机上会抛安全异常,需要签名才可以,据说.
   2.中国手机大部分走CMWAP,NOKIA手机有些默认为CMWAP,socket连接必须要有端口,CMWAP只提供172.0.0.10:80这个端口
      如果你有SP跟移动申请的IP和端口才可以连接上.

LZ可以考虑用J2ME+servlet来实现数据交换,网上有很多这种例子.
     

#21


学习了……

#22


引用 16 楼 firemain 的回复:
work_in_java

贴代码多加分。。。。。
代码贴起码可能比较多。J2ME网络编程那块传统的科学的做法是开2个线程,收和发都作为一个独立的线程
WTK的目录下带socket demo的,目录为;
C:\%你本机的WTK目录%\apps\NetworkDemo
里面有源代码可以参考
        

#23



那apps\NetWordDemo例子
跟本没有与真机通讯的能力

    要它Socket 方式能与真机相连成功 要加什么东西啊?
    work_in_java

#24


你的意思是2个手机一个做服务端一个做客户端,这样情况我起码没有做过,首先要想办法得到你作为服务器端的手机的ip地址。这个就挺复杂,现实的应用中也看不到手机做服务端用socket连接的例子。

你在这个例子中在手机上选择 client端, 服务器端肯定没戏。服务端直接连接一个socket服务器,不要把当手机做一个服务端。给你个公用的socket服务器做测试。
socket://pop3.sina.com:110,你在例子中把url改成这个地址就行了

#25


1楼好抽象

#26


引用 24 楼 work_in_java 的回复:
你的意思是2个手机一个做服务端一个做客户端,这样情况我起码没有做过,首先要想办法得到你作为服务器端的手机的ip地址。这个就挺复杂,现实的应用中也看不到手机做服务端用socket连接的例子。

你在这个例子中在手机上选择 client端, 服务器端肯定没戏。服务端直接连接一个socket服务器,不要把当手机做一个服务端。给你个公用的socket服务器做测试。
socket://pop3.sina.com:110,你在例子中把url改成这个地址就行了


如果服务器地址在别人那里

那自己的服务器端该怎么写呢

还有自己的的客户端怎么接收数据呢

#27


我现在正在做一个手机和某服务器进行数据同步的系统,用的就是SOCKET,不过我的是走CMNET网络.CMWAP在中国是不支持SOCKET的,运营商没有提供。

#28


客户端接受数据不都是用输入流 inputstream嘛。 这个例子中的的client.java里面就有客户端接受数据的代码。
至于服务端,首先需要一台PC机,这台PC要有外网地址,这样真机才能通过网络连接到这台机子上。至于服务端怎么写,可以参考这个例子中的server代码。整片copy过来就行了。。。。
而你连接客户端的socket url 就填这台机子的ip地址+端口号就行, 端口号由服务端的这块代码决定
    scn = (ServerSocketConnection) Connector.open("socket://:"
    + portString);
其中portString 就是端口号。

#29


 work_in_java
   能加我的QQ吗?QQ号582110276
   或者我加你的QQ 我发点东西给你
   帮我改一下Scoket的连接方式
   能实现手机与Pc机互相通讯

#30


引用 29 楼 firemain 的回复:
work_in_java
  能加我的QQ吗?QQ号582110276
  或者我加你的QQ 我发点东西给你
  帮我改一下Scoket的连接方式
  能实现手机与Pc机互相通讯
你发个邮件给我吧,把你源代码当附件传过来。我有时间改好了给你传过去。
服务端先用一个已知的。

#31


引用 8 楼 firemain 的回复:
引用 4 楼 kf156 的回复:
 HTTP协议
 每隔几秒请求一次数据


 HTTP 心跳方式怎么实现 时间太长的会影响游戏的整进度?

 还有Socket怎么实现啊?服务端用J2se里的Socket还是用J2me里的Socket?

建议你先根据机型特点选择协议,就算手机支持midp2.0,Scoket也不是一定被支持的。如果需求是给某1款手机做的项目。你先把这款手机的属性弄清楚,省的模拟器编码测试结束后。上真机测试时傻了。

#32


楼主问题解决了?我回信给你了

#33


没有解决 能发不能收

#34


收的问题 我也给你回信了。其实是收到了,只不过你没显示,或者打印出来而已

#35


为什么 会这样呢?

#36


没看过API吗?多看看有好处的

#37


socket 还不被通讯商支持啊