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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? tcpsendadapter.java

?? 是一個(gè)用java實(shí)現(xiàn)的
?? JAVA
字號(hào):
/*
 * TCPSendAdapter.java
 *
 * Created on November 19, 2003, 11:55 AM
 */

package gov.nist.applet.phone.media.protocol.transport;

import java.io.IOException;
import java.net.Socket;

import javax.media.protocol.PushSourceStream;
import javax.media.rtp.RTPConnector;
import javax.media.rtp.OutputDataStream;
/**
 * An implementation of RTPConnector based on TCP sockets.
 * This implementation can only send RTP data.
 * @author  DERUELLE Jean
 */
public class TCPSendAdapter implements RTPConnector {
    private Socket socket;
    private Socket ctrlSocket;    
       
    /*private InetAddress addr;
    private int localPort;    
    private int destinationPort;    
    private int rtcpLocalPort;
    private int rtcpDestPort;*/
    
    private TCPOutputDataStream dataOutStrm = null, ctrlOutStrm = null;
    private TCPPushSourceStream dataInStrm = null, ctrlInStrm = null;
        
    /** Creates a new instance of TCPSendAdapter 
     * @param addr - address of the remote host
     * @param localPort - port of the local host
     * @param destPort - port of the remote host
     */
    /*public TCPSendAdapter(InetAddress addr, int localPort, int destPort) throws IOException  {
        this(addr, localPort, destPort, 1);
    }*/
    
    /** Creates a new instance of TCPSendAdapter 
     * @param addr - address of the remote host
     * @param localPort - port of the local host
     * @param destPort - port of the remote host
     * @param ttl - time to live
     */
    /*public TCPSendAdapter(InetAddress addr, int localPort, int destPort, int ttl) throws IOException {       
        boolean connected=false;
        System.out.println("Trying to connect to "+addr+"/"+destPort);
        //Trying to connect to the TCP Port of the remote host to establish a RTP connection
        while(!connected){
            try{
                socket = new Socket(addr,destPort);
                System.out.println("Socket connected to "+addr+
                                    " on port "+destPort);
                connected=true;
            }
            catch(IOException ioe){

            }
        }
        connected=false;
        rtcpDestPort=destPort+1;
        rtcpLocalPort=localPort+1;
        System.out.println("Trying to connect to "+addr+"/"+rtcpDestPort);
        //Trying to connect to the TCP Port of the remote host to establish a RTCP connection
        while(!connected){
            try{
                ctrlSocket = new Socket(addr, rtcpDestPort);	    
                System.out.println("Control Socket connected to "+addr+
                                    " on port "+rtcpDestPort);
                connected=true;
            }
            catch(IOException ioe){

            }
        }        
	this.addr = addr;
	this.localPort = localPort;
        this.destinationPort = destPort;
    }*/
    
    /** Creates a new instance of TCPSendAdapter 
     * @param addr - address of the remote host
     * @param localPort - port of the local host
     */
    public TCPSendAdapter(Socket socketRTPTransmit,Socket socketRTCPTransmit) {       
        this.socket=socketRTPTransmit;
        this.ctrlSocket=socketRTCPTransmit;
    }
    
    /**
     * Returns an input stream to receive the RTP data.
     * @return input stream to receive the RTP data.
     */
    public PushSourceStream getDataInputStream() throws IOException {
        if (dataInStrm == null) {            
	    dataInStrm = new TCPPushSourceStream(socket,false);            
	    dataInStrm.start();
	}
	return dataInStrm;
    }

    /**
     * Returns an output stream to send the RTP data.
     * @return output stream to send the RTP data.
     */
    public OutputDataStream getDataOutputStream() throws IOException {
	if (dataOutStrm == null){            
	    dataOutStrm = new TCPOutputDataStream(socket,false);            
        }
	return dataOutStrm;
    }

    /**
     * Returns an input stream to receive the RTCP data.
     * @return input stream to receive the RTCP data.
     */
    public PushSourceStream getControlInputStream() throws IOException {	
        if (ctrlInStrm == null) {            
	    ctrlInStrm = new TCPPushSourceStream(ctrlSocket,true);            
	    ctrlInStrm.start();
	}
	return ctrlInStrm;
    }

    /**
     * Returns an output stream to send the RTCP data.
     * @return output stream to send the RTCP data.
     */
    public OutputDataStream getControlOutputStream() throws IOException {
	if (ctrlOutStrm == null){            
	    ctrlOutStrm = new TCPOutputDataStream(ctrlSocket,true);            
            
        }
	return ctrlOutStrm;
    }

    /**
     * Close all the RTP, RTCP streams.
     */
    public void close() {
        if (dataInStrm != null)
	    dataInStrm.kill();
	if (ctrlInStrm != null)
	    ctrlInStrm.kill();
        try{
            socket.close();
        }
        catch(IOException ioe){
            ioe.printStackTrace();
        }
        try{
            ctrlSocket.close();
        }
        catch(IOException ioe){
            ioe.printStackTrace();
        }        
    }

    /**
     * Set the receive buffer size of the RTP data channel.
     * This is only a hint to the implementation.  The actual implementation
     * may not be able to do anything to this.
     * @param size - receive buffer size 
     */
    public void setReceiveBufferSize( int size) throws IOException {
	socket.setReceiveBufferSize(size);        
    }

    /**
     * Get the receive buffer size set on the RTP data channel.
     * Return -1 if the receive buffer size is not applicable for
     * the implementation.
     * @return receive buffer size 
     */
    public int getReceiveBufferSize() {
	try {
	    return socket.getReceiveBufferSize();            
	} catch (Exception e) {
	    return -1;
	}
    }

    /**
     * Set the send buffer size of the RTP data channel.
     * This is only a hint to the implementation.  The actual implementation
     * may not be able to do anything to this.
     * @param size - send buffer size.
     */
    public void setSendBufferSize( int size) throws IOException {
	socket.setSendBufferSize(size);        
    }

    /**
     * Get the send buffer size set on the RTP data channel.
     * Return -1 if the send buffer size is not applicable for
     * the implementation.
     * @return send buffer size 
     */
    public int getSendBufferSize() {
	try {
	    return socket.getSendBufferSize();            
	} catch (Exception e) {
	    return -1;
	}
    }

    /**
     * Return the RTCP bandwidth fraction.  This value is used to
     * initialize the RTPManager.  Check RTPManager for more detauls.
     * @return RTCP bandwidth fraction. -1 to use the default values.
     */
    public double getRTCPBandwidthFraction() {
	return -1;
    }

    /**
     * Return the RTCP sender bandwidth fraction.  This value is used to
     * initialize the RTPManager.  Check RTPManager for more detauls.
     * Return -1 to use the default values.
     * @return RTCP sender bandwidth fraction. -1 to use the default values.
     */
    public double getRTCPSenderBandwidthFraction() {
	return -1;
    }          
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美美女一区二区| 欧美日韩国产乱码电影| 午夜欧美视频在线观看 | 久久99国产精品免费| 亚洲天堂中文字幕| 精品国产一区二区在线观看| 色综合天天综合| 国产成人在线免费| 看片的网站亚洲| 天天色 色综合| 亚洲免费视频中文字幕| 国产清纯美女被跳蛋高潮一区二区久久w | 国产999精品久久久久久| 偷窥国产亚洲免费视频| 亚洲天堂a在线| 国产欧美一区二区三区网站 | 国产宾馆实践打屁股91| 日本伊人精品一区二区三区观看方式| 亚洲欧洲日韩女同| 久久综合九色综合久久久精品综合| 欧美性做爰猛烈叫床潮| www.av精品| 成人动漫一区二区三区| 国产精品自拍在线| 精久久久久久久久久久| 热久久一区二区| 日本伊人精品一区二区三区观看方式| 亚洲制服丝袜在线| 亚洲免费三区一区二区| 综合久久一区二区三区| 国产精品三级视频| 国产人久久人人人人爽| 国产亚洲一区二区三区在线观看| 欧美电影免费观看高清完整版在 | 亚洲综合视频网| 91精品免费观看| 欧美精品第1页| 欧美日韩黄色一区二区| 欧美挠脚心视频网站| 欧美日韩中文一区| 欧美日韩情趣电影| 91精品国产综合久久蜜臀| 欧美精品日韩精品| 在线成人小视频| 日韩一级二级三级精品视频| 这里只有精品电影| 精品日韩在线一区| 久久―日本道色综合久久| 国产欧美精品一区二区色综合| 国产三级精品在线| 国产精品嫩草99a| 亚洲天堂免费在线观看视频| 一区二区欧美精品| 日日摸夜夜添夜夜添亚洲女人| 日韩精品色哟哟| 美脚の诱脚舐め脚责91| 精品在线你懂的| 国产 日韩 欧美大片| 97久久精品人人做人人爽50路| 91伊人久久大香线蕉| 欧美亚洲动漫另类| 91精品国产91综合久久蜜臀| www激情久久| 亚洲色欲色欲www在线观看| 亚洲女子a中天字幕| 性欧美疯狂xxxxbbbb| 精品一区中文字幕| 不卡在线观看av| 欧美日本在线观看| 精品久久久久久久久久久久久久久 | 91激情五月电影| 91精品国产综合久久小美女| 久久婷婷国产综合国色天香| 中文字幕一区二区三区视频| 一区二区免费看| 九色综合国产一区二区三区| 成人黄色综合网站| 欧美日韩不卡一区| 国产婷婷精品av在线| 亚洲一区二区三区四区的| 另类欧美日韩国产在线| 99re66热这里只有精品3直播| 欧美片网站yy| 国产精品福利影院| 青草国产精品久久久久久| 成人免费av在线| 欧美一二三在线| |精品福利一区二区三区| 日日摸夜夜添夜夜添国产精品| 国产不卡高清在线观看视频| 欧美二区三区91| 国产精品乱码人人做人人爱| 日韩av午夜在线观看| eeuss鲁片一区二区三区| 91精品国产色综合久久不卡电影 | 日韩你懂的在线观看| 一区二区中文视频| 精品一区二区三区欧美| 色噜噜狠狠成人中文综合| 久久综合网色—综合色88| 亚洲一区二区在线视频| 国产成人精品1024| 日韩一区二区三区视频| 亚洲自拍欧美精品| 99精品视频中文字幕| 精品噜噜噜噜久久久久久久久试看| 亚洲人成网站色在线观看| 国产精品影视在线| 欧美一区二区三区四区高清| 亚洲欧洲日韩女同| 懂色av一区二区夜夜嗨| 91精品国产福利在线观看 | 国产精品123区| 欧美一区二区三区视频在线观看 | 日韩影院在线观看| 日本乱码高清不卡字幕| 国产精品久久久久桃色tv| 久草这里只有精品视频| 欧美一区二区精美| 亚洲v日本v欧美v久久精品| 色综合一个色综合| 国产精品私人影院| 成人免费视频视频| 中文字幕欧美区| 国产成人在线视频播放| 久久久国产一区二区三区四区小说| 久久精品999| 欧美一激情一区二区三区| 日韩精彩视频在线观看| 欧美乱熟臀69xxxxxx| 天天综合天天做天天综合| 欧美日韩不卡在线| 日韩av中文字幕一区二区 | 一个色综合网站| 91老司机福利 在线| 亚洲欧洲综合另类在线| 91视频国产资源| 亚洲一区二区三区三| 在线观看成人免费视频| 亚洲一卡二卡三卡四卡五卡| 91成人免费在线视频| 亚洲一区二区在线视频| 欧美疯狂做受xxxx富婆| 美国十次综合导航| 久久婷婷久久一区二区三区| 国产经典欧美精品| 国产精品麻豆欧美日韩ww| 91免费视频观看| 亚洲国产精品自拍| 6080yy午夜一二三区久久| 美国精品在线观看| 久久精品一区四区| eeuss鲁片一区二区三区在线观看| 亚洲色欲色欲www在线观看| 色婷婷综合久久久久中文一区二区 | 国产成人精品在线看| 中文字幕日韩av资源站| 91极品视觉盛宴| 免费xxxx性欧美18vr| 日本一区二区三区四区在线视频| 国产99久久久国产精品免费看| 日韩久久一区二区| 欧美色区777第一页| 捆绑调教一区二区三区| 中文字幕 久热精品 视频在线 | 国产在线视视频有精品| 中文字幕一区三区| 欧美日韩电影在线播放| 国产一区二区剧情av在线| 中文字幕一区二区三区不卡在线 | 国产精品你懂的在线欣赏| 色一区在线观看| 免费的成人av| 亚洲欧洲精品天堂一级| 欧美精品高清视频| 国产成人av网站| 午夜电影网一区| 日本一区二区三区四区| 欧美色综合网站| 国产乱人伦精品一区二区在线观看 | 欧美剧在线免费观看网站| 久久99国产精品免费| 亚洲免费观看高清在线观看| 日韩欧美一区二区久久婷婷| 99久久精品久久久久久清纯| 视频一区免费在线观看| 国产精品色呦呦| 日韩免费福利电影在线观看| 色综合天天做天天爱| 久久99久久99| 亚洲一区二区三区自拍| 欧美国产1区2区| 欧美一卡2卡3卡4卡| 91啪亚洲精品| 国产成人免费在线观看| 青青草伊人久久| 亚洲综合色网站| 中文字幕中文乱码欧美一区二区 | 久久蜜臀中文字幕| 欧美裸体一区二区三区|