亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sample.java

?? JAVA網絡編程等幾個小程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:

        public void run()

        {

            try

            {

                DataInputStream is = new DataInputStream(m_skt.getInputStream());

                while( true )

                {//這里可能收到兩種包,一種是http包,一種是自定義的包,在自定義的包中,約定了第3第4個字節是這個包的長度。

                    byte[] pktHd = new byte[4];

                    byte[] rawData = null;

                    is.readFully(pktHd);

                    boolean bUseHttp = false;

                    String method = new String(pktHd);

                    if (method.equalsIgnoreCase("POST") || method.equalsIgnoreCase("GET ") || method.equalsIgnoreCase("PUT ")

                    || method.equalsIgnoreCase("DELE") || method.equalsIgnoreCase("HEAD") || method.equalsIgnoreCase("LINK")

                    || method.equalsIgnoreCase("UNLI"))

                    {

                        String url = is.readLine();

                        Debug.info(("\nHttp Packet received from [" +

                              m_skt.getInetAddress().getHostAddress() + ":" +

                              m_skt.getPort() + " --" + method + url) );

 

                        int len = 0;

                        if (method.equalsIgnoreCase("POST"))

                        {

                          do {

                            String s = is.readLine();

                            if (s == null)

                              throw new IOException("Not a HTTP request");

                            if (s.equals(""))

                              break;

                            int index = s.indexOf(':');

                            if (index == -1)

                              continue;

                            String name = s.substring(0, index);

                            String value = s.substring(index + 1);

                            if ("Content-Length".equalsIgnoreCase(name.trim()))

                               len = Integer.parseInt(value.trim());

                            } while(true);

                            Debug.finer("Content-Length=" + len);

                        }

                        if (len == 0) {m_skt.close();break;} //Must a hacker! close socket.

                        rawData = new byte[len];

                        is.readFully(rawData);

                        while(is.available() != 0) is.skip(is.available());

                        bUseHttp = true;

                    }

                    else

                    {

                        BigInteger bgInt = new BigInteger( new byte[] { pktHd[2], pktHd[3] } );

                        int rstLen = bgInt.intValue() - 4;

                        if ( rstLen <= 0 )

                            if ( m_env.statelessService() ) break;

                            else continue;

                        Debug.info("\nPacket received from [" +

                              m_skt.getInetAddress().getHostAddress() + ":" +

                              m_skt.getPort() + "]; total len:" + bgInt.intValue() +

                              ",rest len:" + rstLen);

                        rawData = new byte[rstLen + 4];

                        System.arraycopy(pktHd, 0, rawData, 0, 4);

                        is.readFully(rawData, 4, rstLen);

                        bUseHttp = false;

                    }

                    //RawPkt封裝了收到的包

                    RawPkt nPkt = new RawPkt(rawData, m_skt.getInetAddress(), m_skt.getPort() );

                    // SamplePacketHandler類用來處理收到的包,SampleSender類用來向客戶端發送數據。

                    SamplePacketHandler handler = new SamplePacketHandler ( nPkt, new SampleSender( m_skt, m_env, bUseHttp) );

                    handler.start();

                    handler = null;

                    if ( m_env.statelessService() ) break;

                }

            }

            catch( Exception e )

            {

                Debug.info(e);

            }

        }

    }

}

 

 

package org.kyle.net.svr.sample;

 

import java.util.*;

import java.math.*;

 

public class SamplePacketHandler extends Thread

{

    protected SampleSender m_sender = null;

    protected GenProfile m_env = null;

    private RawPkt m_rawPkt = null;

 

    public SamplePacketHandler(RawPkt rawPkt, GenProfile env, SampleSender sender)

    {

        m_rawPkt = rawPkt;

        m_env = env;

        m_sender = sender;

    }

 

    public void run()

    {

        if ( !m_sender.hasDestInfo() )

        {

            m_sender.setDestinationAddress( m_rawPkt.getSrcAddress() );

            m_sender.setDestinationPort( m_rawPkt.getSrcPort() );

        }

        

        //在這里對收到的數據包進行處理,結果封裝在resPkt中。

        m_sender.send( resPkt );

   }

 

 

package org.kyle.net.svr.sample;

 

import java.net.*;

import java.util.*;

import java.io.*;

 

public class SampleSender

{

    private GenProfile m_profile = null;

    private InetAddress m_srcAddress = null;

    private int m_srcPort = -1;

    private InetAddress m_dstAddress = null;

    private int m_dstPort = -1;

    private boolean m_bUseHttp;

    private Socket m_skt = null;

 

    public SampleSender( GenProfile profile )

        throws SocketException

    {

        this( null, profile );

    }

 

    public SampleSender( Socket skt, GenProfile profile )

        throws SocketException

    {

        this( skt, profile, false );

    }

 

    public SampleSender( Socket skt, GenProfile profile, boolean bUseHttp)

        throws SocketException

    {

        if ( profile == null)

            throw new SocketException("null profile.");

        m_skt = skt;

        m_profile = profile;

        m_bUseHttp = bUseHttp;

    }

 

    public void setSourceAddress(InetAddress srcAddr)

    {

        m_srcAddress = srcAddr;

    }

 

    public void setDestinationAddress(InetAddress dstAddr)

    {

        m_dstAddress = dstAddr;

    }

 

    public void setSourcePort(int srcPort)

    {

        m_srcPort = srcPort;

    }

 

    public boolean hasDestInfo()

    {

        return !( m_dstAddress == null || m_dstPort == -1 || m_dstPort <= 0 || m_dstPort >= 65535);

    }

 

    public void setDestinationPort(int dstPort)

    {

        m_dstPort = dstPort;

    }

 

    public boolean send(InfoPacket msg)

    {

        //將InfoPacket編碼為一個字節數組

Encoder encoder = new Encoder();

        encoder.setProfile( m_profile );

        byte[] baPkt = encoder.encode( msg );

 

        if ( baPkt == null || !hasDestInfo())

            return false;

        try

        {

            OutputStream os =  getSocket().getOutputStream();

            if (m_bUseHttp)

            {

                os.write(("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\nContent-Length: " + baPkt.length + "\r\n\r\n").getBytes());

            }

 

            os.write( baPkt );

            os.flush();

            if ( m_profile.statelessService() )

            {

                os.close();

                m_skt.close();

            }

 

            return true;

        }

        catch( IOException ioe )

        {

            Debug.info(ioe);

        }

        catch( Exception e )

        {

            Debug.info(e);

        }

 

        return false;

    }

 

    public InetAddress getSrcAddress()

    {

        return m_srcAddress;

    }

 

    public void setSrcAddress(InetAddress aSrcAddress)

    {

        m_srcAddress = aSrcAddress;

    }

 

    public int getSrcPort()

    {

        return m_srcPort;

     }

 

    public void setSrcPort(int aSrcPort)

    {

        m_srcPort = aSrcPort;

     }

 

    private Socket getSocket()

    {

        if ( m_skt != null ) return m_skt;

        if ( !hasDestInfo() ) return null;

        try

        {

            if ( m_srcAddress != null && m_srcPort != -1 )

                return new Socket( m_dstAddress, m_dstPort, m_srcAddress, m_srcPort );

 

            return new Socket( m_dstAddress, m_dstPort );

        }

        catch(SocketException se)

        {

            Debug.info(se);

        }

        catch( Exception e )

        {

            Debug.info(e);

        }

        return null;

    }

 

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av一级片| 99re成人精品视频| 3d动漫精品啪啪一区二区竹菊| 亚洲三级视频在线观看| 91亚洲国产成人精品一区二区三| 成人欧美一区二区三区1314| 91九色最新地址| 亚洲超碰精品一区二区| 欧美久久久久久蜜桃| 精品一区二区三区日韩| 久久久久久久免费视频了| 国产激情偷乱视频一区二区三区| 欧美国产精品专区| 日本国产一区二区| 日韩在线一二三区| 国产日韩精品一区二区三区| 91小视频免费观看| 日韩二区三区四区| 国产欧美日韩不卡免费| 日本高清无吗v一区| 蜜臀国产一区二区三区在线播放| www日韩大片| 国产精品1区2区| 一区二区三区欧美激情| 欧美一区二区三区婷婷月色| 国产成人午夜视频| 亚洲一级二级三级| 国产欧美一区二区精品婷婷| 91国内精品野花午夜精品| 久久国产婷婷国产香蕉| 亚洲日本丝袜连裤袜办公室| 欧美一区日韩一区| 99久久精品费精品国产一区二区| 日韩和欧美的一区| 1024成人网| 欧美va亚洲va| 在线观看不卡视频| 国产福利一区二区三区视频| 亚洲福利视频导航| 中文字幕在线免费不卡| 欧美一级午夜免费电影| 99久久99久久精品免费观看| 久久黄色级2电影| 亚洲国产中文字幕在线视频综合| 国产喂奶挤奶一区二区三区 | 国产激情偷乱视频一区二区三区| 一个色妞综合视频在线观看| 国产网站一区二区三区| 日韩一区二区精品葵司在线| av动漫一区二区| 国产精品1区2区| 久久草av在线| 日韩高清中文字幕一区| 一区二区在线免费| 亚洲精品国产无天堂网2021| 自拍偷拍欧美精品| 2021国产精品久久精品| 欧美日产国产精品| 欧美丝袜第三区| 91麻豆福利精品推荐| 成人免费观看av| 黄色精品一二区| 久久99久久精品| 久久99深爱久久99精品| 日韩1区2区日韩1区2区| 国产电影一区在线| 久久影院午夜论| 精品国产一区a| 日韩欧美国产三级电影视频| 精品1区2区3区| 欧美三级视频在线| 欧美亚洲一区三区| 欧美中文字幕久久| 欧美亚洲一区二区在线| 欧美在线免费视屏| 欧美综合亚洲图片综合区| 一本色道a无线码一区v| 91麻豆高清视频| 色哦色哦哦色天天综合| 色婷婷亚洲综合| 色爱区综合激月婷婷| 一本色道久久综合狠狠躁的推荐| 色综合天天做天天爱| 色婷婷香蕉在线一区二区| 91片在线免费观看| 91小视频免费看| 欧美亚洲动漫精品| 在线不卡的av| 日韩视频在线永久播放| 久久精品一二三| 国产精品麻豆99久久久久久| 国产精品国产精品国产专区不片| 亚洲欧洲制服丝袜| 欧美三级电影在线看| www.成人在线| 成人激情电影免费在线观看| 激情综合网av| 国产伦精一区二区三区| 激情图片小说一区| 成人午夜av电影| 成人av电影在线网| 色婷婷狠狠综合| 欧美三级中文字幕在线观看| 欧美三级在线看| 这里只有精品免费| 26uuu亚洲| 国产精品高潮呻吟| 成人欧美一区二区三区视频网页 | 99久久99久久久精品齐齐| 国产一区二区三区不卡在线观看| 三级精品在线观看| 久久电影网电视剧免费观看| 色婷婷久久久亚洲一区二区三区 | 国产老女人精品毛片久久| 国产欧美日韩另类视频免费观看 | 国产伦精品一区二区三区免费迷| 欧美一区二区大片| 国产精品人妖ts系列视频| 亚洲视频网在线直播| 日韩激情一二三区| 国产成人av一区二区三区在线 | 国产精品亚洲人在线观看| 亚洲猫色日本管| 亚洲欧美另类小说| 蜜桃一区二区三区在线观看| 成人久久18免费网站麻豆| 欧美特级限制片免费在线观看| 精品国产91久久久久久久妲己 | 亚洲啪啪综合av一区二区三区| 亚洲国产成人高清精品| 久久国产综合精品| 色婷婷综合久久久中文一区二区| 日韩欧美二区三区| 亚洲综合av网| 国产91精品入口| 日韩欧美国产一区二区三区 | 亚洲日本在线视频观看| 精品一区二区三区影院在线午夜| 91啦中文在线观看| 欧美国产丝袜视频| 精品一区二区三区在线播放| 欧洲一区二区三区在线| 国产精品伦一区| 国产专区欧美精品| 538prom精品视频线放| 亚洲丝袜另类动漫二区| 国产精品中文字幕欧美| 3d成人动漫网站| 亚洲综合一区在线| 色综合av在线| 中文字幕亚洲一区二区av在线| 精品一区二区三区av| 欧美日韩一区三区四区| 亚洲三级电影全部在线观看高清| 丁香五精品蜜臀久久久久99网站| 欧美成人乱码一区二区三区| 天天av天天翘天天综合网| 91色.com| 成人欧美一区二区三区| 成人av集中营| 国产精品国产三级国产aⅴ原创| 国产一区三区三区| 日韩欧美成人午夜| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美性色欧美a在线播放| 亚洲精品欧美在线| 91性感美女视频| 尤物视频一区二区| 色94色欧美sute亚洲13| 亚洲激情一二三区| 欧美三级视频在线观看| 亚洲成a人v欧美综合天堂| 欧美日韩亚洲综合在线| 亚洲小说欧美激情另类| 欧美人与性动xxxx| 日本不卡一区二区三区| 欧美mv和日韩mv的网站| 黄色资源网久久资源365| 久久久无码精品亚洲日韩按摩| 国产一区二区美女诱惑| 久久精品视频网| 懂色av中文一区二区三区| 中文字幕亚洲精品在线观看| 91视频在线观看| 亚洲第一福利一区| 91精品国产综合久久精品| 精品一区二区三区免费| 国产亚洲综合色| 99re视频精品| 无码av免费一区二区三区试看 | 美日韩一区二区| 精品成a人在线观看| 丁香六月综合激情| 一区二区在线观看视频| 欧美精品九九99久久| 久久成人麻豆午夜电影| 国产精品天干天干在观线| 91美女精品福利| 日本欧美韩国一区三区| 国产日韩欧美不卡在线|