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

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

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

    牙牙窩

    BlogJava 聯(lián)系 聚合 管理
      8 Posts :: 21 Stories :: 10 Comments :: 0 Trackbacks

    在開發(fā)Socket平臺才發(fā)現(xiàn)我對網(wǎng)絡(luò)編程是這么的無知。下面會記錄一下在開發(fā)過程中碰到的一些問題。以及解決方案。

    問題1:字符問題

             在socket的傳送都是用字符進(jìn)行傳輸,C在字符這方面不會存在太大問題,但Java就不同了,因為在Java中,存在String中的char通常都是以雙字節(jié)儲存。當(dāng)將Java的String轉(zhuǎn)化為byte[]時就有問題了,之前一個字符轉(zhuǎn)后會在前面多了一個空格。由于使用的是NIO的channel通訊。而不是常用的Stream,而且如果全部轉(zhuǎn)化為byte進(jìn)行處理,在Java開發(fā)又會很不方便。所以這個問題想了很多辦法都解決不了。

    解決辦法:終于在一個開源框架(jniosocket2)中我找到了解決辦法。下面是發(fā)送的代碼:

        
    public static void write(SocketChannel _channel, byte[] content)
                
    throws IOException {

            List
    <ByteBuffer> list = new ArrayList<ByteBuffer>();

            list.add(ByteBuffer.wrap(content));

            ByteBuffer[] b 
    = new ByteBuffer[1];

            list.toArray(b);

            _channel.write(b, 
    0, b.length);

        }


    這個方法就能夠正確把由于String轉(zhuǎn)化多出來的空格給去掉。


    posted on 2007-05-11 17:09 大牙 閱讀(178) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲成人一级电影| 国产av天堂亚洲国产av天堂| 亚洲一欧洲中文字幕在线| 无码国产精品一区二区免费式芒果 | 中文字幕永久免费视频| 亚洲AV无码乱码在线观看| 精品熟女少妇a∨免费久久| 亚洲精品你懂的在线观看| 久久综合亚洲色HEZYO社区| 久9这里精品免费视频| 亚洲成AV人片一区二区| 久久免费视频观看| 日韩免费视频观看| 国产尤物在线视精品在亚洲| 日本高清免费网站| 午夜不卡AV免费| 亚洲午夜福利在线观看| 人人揉揉香蕉大免费不卡| 久久亚洲春色中文字幕久久久| 最近2019中文字幕免费直播| 亚洲码一区二区三区| 全免费a级毛片免费看无码| 国产在亚洲线视频观看| 国产成人精品日本亚洲专区61| 中文字幕无线码中文字幕免费| 亚洲av无码成人黄网站在线观看| 在线观看免费无码专区| 亚洲成aⅴ人在线观看| 在线播放高清国语自产拍免费| 亚洲va久久久噜噜噜久久天堂| 日本一卡精品视频免费| 国产日产亚洲系列| 18禁美女黄网站色大片免费观看 | 一级白嫩美女毛片免费| 亚洲国产AV无码专区亚洲AV| 1000部免费啪啪十八未年禁止观看| 亚洲精品视频观看| 免费国产美女爽到喷出水来视频| baoyu122.永久免费视频| 亚洲日韩人妻第一页| 在线观看免费av网站|