<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-348  評論-598  文章-0  trackbacks-0
    今天做黑莓平臺上J2ME的Socket測試程序,服務端已經調試好了,服務端也用模擬器調試好了,可到了黑莓上面就有問題了,程序運行正常,連接也正常建立,但發送出去的數據服務端就是收不到導致阻塞,服務端阻塞也導致了客戶端接收數據的阻塞。。。死活沒發現原因。。。最后測試來測試去才發現問題所在。
    之前的程序:
    SocketConnection conn = null;
                        OutputStream os 
    = null;
                        InputStream is 
    = null;
                        
    try {
                            getUrl();
                            
    if ("".equals(url.trim()) || "".equals(port)) {
                                log(
    "請將Socket測試地址和端口填寫完整", Thread.currentThread());
                                
    return;
                            }

                            
    try {
                                Integer.parseInt(port);
                            }
     catch (Exception e) {
                                log(
    "端口號必須是整數", Thread.currentThread());
                                
    return;
                            }

                            log(CONNECTING_STR, Thread.currentThread());
                            conn 
    = (SocketConnection) Connector.open("socket://" + url + ":" + port, Connector.READ_WRITE, true);
                            conn.setSocketOption(SocketConnection.LINGER, 
    5);

                            
    // 發送和回復的請求
                            os = conn.openDataOutputStream();
                            is 
    = conn.openDataInputStream();
    修正之后的程序:
    SocketConnection conn = null;
                        DataOutputStream os 
    = null;
                        DataInputStream is 
    = null;
                        
    try {
                            getUrl();
                            
    if ("".equals(url.trim()) || "".equals(port)) {
                                log(
    "請將Socket測試地址和端口填寫完整", Thread.currentThread());
                                
    return;
                            }

                            
    try {
                                Integer.parseInt(port);
                            }
     catch (Exception e) {
                                log(
    "端口號必須是整數", Thread.currentThread());
                                
    return;
                            }

                            log(CONNECTING_STR, Thread.currentThread());
                            conn 
    = (SocketConnection) Connector.open("socket://" + url + ":" + port, Connector.READ_WRITE, true);
                            conn.setSocketOption(SocketConnection.LINGER, 
    5);

                            
    // 發送和回復的請求
                            os = conn.openDataOutputStream();
                            is 
    = conn.openDataInputStream();
    看出來了嗎?
    os和is變量的聲明類型不一樣,如果用OutputStream和InputStream這一類的抽象類聲明只能調用標準讀寫接口,在J2ME模擬器上面沒有問題,但是到了黑莓上面死活都不行,后來用了具體實現類來聲明,調用了ReadUTF和WriteUTF來進行讀寫操作,就沒有任何問題了。

    ---------------------------------------------------------
    專注移動開發

    Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
    posted on 2010-01-10 22:16 TiGERTiAN 閱讀(1933) 評論(1)  編輯  收藏 所屬分類: JavaJ2MEBlackBerry

    評論:
    # re: BlackBerry讓我差點把電腦扔了。。。 2010-01-11 20:14 | javacool
    呵呵,編碼有時候會把人郁悶死,希望UTF-8早日一統江湖!  回復  更多評論
      
    主站蜘蛛池模板: 怡红院免费全部视频在线视频| 亚洲综合色丁香麻豆| 亚洲色偷偷综合亚洲AVYP| 亚洲精品美女久久7777777| 鲁丝片一区二区三区免费| AV在线亚洲男人的天堂| 在线播放亚洲精品| 日本免费一二区在线电影| 亚洲一区二区三区亚瑟| 在线a级毛片免费视频| 亚洲一区免费观看| 9420免费高清在线视频| 内射干少妇亚洲69XXX| 一级毛片**不卡免费播| 亚洲不卡av不卡一区二区| 亚洲AV无码专区在线电影成人| 皇色在线视频免费网站| 亚洲色欲啪啪久久WWW综合网| 曰批全过程免费视频在线观看| 亚洲午夜一区二区电影院| 91在线视频免费91| 黄页网站在线观看免费| 亚洲无线观看国产精品| 精品无码人妻一区二区免费蜜桃| 亚洲人成电影在线观看网| 好爽好紧好大的免费视频国产| 国产精品成人亚洲| 亚洲AV日韩AV永久无码免下载| 精品无码人妻一区二区免费蜜桃| 在线观看亚洲AV日韩A∨| 亚洲AV无码成人精品区大在线| a毛片全部免费播放| 亚洲毛片一级带毛片基地| 日本a级片免费看| 国产好大好硬好爽免费不卡| 中文文字幕文字幕亚洲色| 亚洲国产香蕉人人爽成AV片久久 | 亚洲国产精品不卡在线电影| 一个人免费高清在线观看| 国产美女视频免费观看的网站| 亚洲自偷精品视频自拍|