日期:2014-05-20  浏览次数:20812 次

新手给分啦! J2ME 中 UDP 编程的问题
各位好,我在myeclipse里搭好的开发平台,使用CREme的JVM,
想在三星S3C上的WinCE5.0上做基于UDP的网络程序,
使用SUN文档中提供的例子程序测试了一下,
编译成功,执行正常无报错,但UDP的packet就是收不到。
实在无奈,上来找大家伙帮忙看看可能是什么问题?

import java.io.IOException;
import javax.microedition.io.Connector;
import javax.microedition.io.Datagram;
import javax.microedition.io.DatagramConnection;

public class Test {
public static void main(String args[]) {
DatagramConnection dc;
try {
dc = (DatagramConnection) Connector.open("datagram://202.192.248.179:5042");
byte[] payload = "Test Message".getBytes();
Datagram datagram = 
dc.newDatagram(payload, payload.length);
dc.send(datagram);
System.out.println("test");
} catch (IOException e) {
// TODO Auto-generated catch block
System.err.println(e.toString());
e.printStackTrace();
}
}

}




------解决方案--------------------
是不是网络没有连接上的问题……
------解决方案--------------------
J2ME规范要求GCF必须实现http,但其它的都是可选实现.
第一家产厂对J2ME的支持除了最小规范外,不同型号的手机,同一型号的不同版本所支持的功能都是不同的.
不是说JAVA能插放视频所有所机的KVM都支持视频,同样它的KVM是否支持UDP要看厂商具体实现.

另外对于从J2ME建立的连结,应用程序还要经过认证,你自己开发的J2ME程序,即使能建立连结,你可以看一下服务端收到的
头信息中有uncheck之类的信息,具体是什么我忘记了,好几年不做了.
------解决方案--------------------
帮顶!
------解决方案--------------------
部分模拟器不支持双工,就是在send完毕后必须关闭流,然后才能打开input流操作.不知道对楼主是否有用.
------解决方案--------------------
有可能是网络问题
------解决方案--------------------
学习