Discussion:
[問題] J2ME+socket
(时间太久无法回复)
皮卡
2007-06-07 11:41:35 UTC
Permalink
最近在寫Java。

碰到了一個以前沒遇過的問題。

我用netbeans+mobility pack開了一個Midlet的project以後。

在mainForm裡加了Ok command以後。

在ok command裡面,接著寫了一行code。

javax.microedition.io.Connector("socket://202.43.195.13:80");

執行模擬器時,按了ok以後,很正常的出現詢問視窗(詢問是不是要存取網路)。

但是卻無法按"是"或"否"。

把程式放到手機以後,程式只要執行到這行。

出現詢問視窗以後,按"是",卻不會有傳送的動作,而且程式還會因此停止。

以前在寫的時候是沒遇到這樣的問題。

接著我把以前的code拿出來再使用,卻無法使用了。

不知道是不是Java改版出現的問題。

麻煩各位幫幫忙。

現在的開發平臺:(Linux,Windows)
jdk-1.6.0+netbeans 5.5.1+mobility pack 5.5.1
MIDP 2.0 CLDC 1.1

以前是:(Linux,Windows)
jdk-1.5.0+netbeans 5.5(5.0)+mobility pack 5.5(5.0)
MIDP 2.0 CLDC 1.1


雖然應該不關測試平臺,模擬器就有問題了。
以前的測試平臺:Motorola V361,台灣大哥大
現在的測試平臺:Nokia N70,遠傳電信


我也有試著安裝jdk-1.5的update 12,netbeans 5.5。
問題還是存在。



--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.64.134.80
皮卡
2007-06-09 07:29:04 UTC
Permalink
自問自答..

以前取socket這些動作。沒有做特殊的check。

結果在某些手機上會發生deadlock。

所以現在模擬器會check有沒有使用thread來呼叫socket。

把語系改英文才看到錯誤訊息= =||

之前語系是中文的,錯誤訊息只跳一半。看不懂。

所以把程式改成

new Thread(){
public void run(){
try{
javax.microedition.io.Connector("socket://202.43.195.13:80");
catch(Exception e){
}
}
}

再去start這個thread。

就可以了。

※ 引述《sekya (皮卡)》之銘言:
: 最近在寫Java。
: 碰到了一個以前沒遇過的問題。
: 我用netbeans+mobility pack開了一個Midlet的project以後。
: 在mainForm裡加了Ok command以後。
: 在ok command裡面,接著寫了一行code。
: javax.microedition.io.Connector("socket://202.43.195.13:80");
: 執行模擬器時,按了ok以後,很正常的出現詢問視窗(詢問是不是要存取網路)。
: 但是卻無法按"是"或"否"。
: 把程式放到手機以後,程式只要執行到這行。
: 出現詢問視窗以後,按"是",卻不會有傳送的動作,而且程式還會因此停止。
: 以前在寫的時候是沒遇到這樣的問題。
: 接著我把以前的code拿出來再使用,卻無法使用了。
: 不知道是不是Java改版出現的問題。
: 麻煩各位幫幫忙。
: 現在的開發平臺:(Linux,Windows)
: jdk-1.6.0+netbeans 5.5.1+mobility pack 5.5.1
: MIDP 2.0 CLDC 1.1
: 以前是:(Linux,Windows)
: jdk-1.5.0+netbeans 5.5(5.0)+mobility pack 5.5(5.0)
: MIDP 2.0 CLDC 1.1
: 雖然應該不關測試平臺,模擬器就有問題了。
: 以前的測試平臺:Motorola V361,台灣大哥大
: 現在的測試平臺:Nokia N70,遠傳電信
: 我也有試著安裝jdk-1.5的update 12,netbeans 5.5。
: 問題還是存在。

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.64.134.80

继续阅读narkive:
Loading...