<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 閱讀(1938) 評論(1)  編輯  收藏 所屬分類: JavaJ2MEBlackBerry

    評論:
    # re: BlackBerry讓我差點把電腦扔了。。。 2010-01-11 20:14 | javacool
    呵呵,編碼有時候會把人郁悶死,希望UTF-8早日一統江湖!  回復  更多評論
      
    主站蜘蛛池模板: 成人免费在线看片| 成人国产网站v片免费观看| 久久99热精品免费观看动漫| 红杏亚洲影院一区二区三区 | 久久亚洲美女精品国产精品 | 59pao成国产成视频永久免费| 亚洲AV无码不卡在线播放| 黄色网站软件app在线观看免费 | 亚洲视频在线免费观看| 亚洲Av无码专区国产乱码DVD| 国产麻豆成人传媒免费观看| 亚洲国产成人久久精品动漫| 一区二区三区在线免费看| 亚洲精品国产肉丝袜久久| 国产香蕉免费精品视频| 亚洲色精品VR一区区三区| 国产精品酒店视频免费看| 免费无码一区二区| 亚洲色偷偷偷鲁综合| 日本一道本不卡免费| 亚洲国产精品网站久久| 好男人看视频免费2019中文| 成人婷婷网色偷偷亚洲男人的天堂| 国产免费怕怕免费视频观看| xxxxx做受大片视频免费| 久久久久亚洲精品影视| 免费观看的毛片大全| 国产精品久久久久久亚洲影视 | 免费成人av电影| 免费精品久久天干天干| 精品亚洲成在人线AV无码| 日本免费福利视频| 国产免费内射又粗又爽密桃视频| 久久久综合亚洲色一区二区三区| 免费精品国产自产拍在| 日韩毛片免费一二三| 伊人久久综在合线亚洲2019| 成年女人免费v片| igao激情在线视频免费| 亚洲免费闲人蜜桃| 国产亚洲情侣一区二区无码AV|