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

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

?? java rtp implementation.htm

?? RTP是voip和網(wǎng)絡(luò)視頻會(huì)議的關(guān)鍵模塊。該庫(kù)實(shí)現(xiàn)了RTP并提供了簡(jiǎn)明的接口。 內(nèi)付說(shuō)明文件。
?? HTM
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0079)http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html -->
<HTML><HEAD><TITLE>Java RTP Implementation</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.2900.2963" name=GENERATOR>
<META content="RTP; java; RTCP" name=keywords>
<META content="Brief description of project." name=description>
<META content="C:\Program Files\Microsoft Office\Office\html.dot" 
name=Template></HEAD>
<BODY vLink=#800080 link=#0000ff bgColor=#ffffff>
<P></P>
<H1>java.net.RTP</H1>
<P>Waqar Ali<BR><I>Columbia University<BR>New York, NY 10027<BR>USA<BR></I><A 
href="mailto:aliw@usa.net"><I>aliw@usa.net</I></A></P>
<ADDRESS>&nbsp;</ADDRESS>
<P>Akhil Nigam<BR><I>Columbia University<BR>New York, NY 10027<BR>USA<BR></I><A 
href="mailto:anigam@lehman.com"><I>anigam@lehman.com</I></A></P><I>
<P>&nbsp;</P></I>
<H2>Abstract</H2>
<P>The Real-time Transport Protocol (RTP <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#references">[1]</A>) 
has become a widely implemented internet-standard protocol for transport of 
real-time data. It provides a mechanism for the participants to give feedback 
about the service using the RTP Control Protocol (RTCP <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#references">[1]</A>). 
This document presents the platform independent RTP implementation in Java. This 
implementation, which is available as a java.net.RTP package, can be easily 
incorporated into an application, which then has access to all of the transport 
level features RTP and RTCP provide. This package also provides out of band 
initialization classes, which implement a late-initialization protocol. These 
classes could be used to implement a late initialization server which is capable 
of synchronizing late-joining clients.</P>
<H2>Introduction</H2>
<P>This report describes the Java implementation of RTP protocol. It covers the 
following topics.</P>
<P>1) <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#related_work">Related 
Work</A></P>
<P>2) <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#Background">Background</A></P>
<P>3) <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#architecture">Architecture</A></P>
<DIR>
<DIR>
<P>3.1) <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#ObjectModel">Object 
Model</A><BR>3.2) <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#EventModel">Event 
Model</A><BR>3.3) <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#LateInitializationClientServer">Late 
Initialization Client/Server</A></P></DIR></DIR>
<P>4) <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#ProgramDocumentation">Program 
Documentation</A></P>
<P>5) <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#APIProgrammerDocumentation">Java 
RTP API documentation</A></P>
<P>6) <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#references">References</A></P>
<P>7) <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/java_net_RTP.tar.gz">Downloads</A></P>
<P>&nbsp;</P>
<H2><A name=related_work>Related Work</A></H2>
<DIR>
<DIR><B>
<P></B><A href="http://www.iasi.rm.cnr.it/iasi/netlab/netlabWelcome.html">RTP 
Library:</A></P>
<P>C++ library which provides application independent implementation of the RTP 
protocol. This library is available for DEC OSF/1 v3.2 and Solaris 2.3 platforms 
only.</P><B>
<P></B><A 
href="http://java.sun.com/products/java-media/jmf/forDevelopers/jmffaq.html">Java 
Media Framework: </A></P>
<P>The Java Media Framework API (JMF) specifies a simple, unified architecture 
to synchronize and display time-based data, such as audio and video, within Java 
applications and applets. The JMF 1.0 API was developed by Sun Microsystems, 
Inc., Silicon Graphics Inc., and Intel Corporation.<A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#references">[2]</A></P><B>
<P></B><A href="http://204.127.236.149/elemedia/px3230s.htm">Elemedia H.323 
stack</A></P>
<P>The elemedia PX3230S H.323 Protocol Stack software module is a software 
implementation of the ITU-T H.323 standard. The RTP/RTCP module supports header 
validity checks, statistic logging, sender reports, reception reports, and a 
system time-to-media time utility. <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#references">[3]</A></P><B>
<P></B><A href="http://webcanal.inria.fr/">Webcanal</A></P>
<P>WebCanal contains a set of networking packages and applications mainly for 
information distribution using IP Multicast. WebCanal networking packages 
include a Java implementation of RTP (real time transport protocol), LRMP, 
SAP/SDP (session announcement protocol) and more. <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#references">[3]</A> 
</P></DIR></DIR>
<H2><A name=Background></H2>
<H2>Background</H2>
<DIR>
<DIR>
<P><A name=architecture></A>The project was motivated by the need to have a 
platform independent, multicast-capable RTP implementation, which could be used 
in collaborative applications like the Whiteboard. The whiteboard application 
has special initialization requirements where all the instances of the 
collaborating whiteboards have to display the identical content, i.e. they need 
to have a common state. This becomes a problem for late joiners which then have 
to be synchronized and brought to a common state like the other instances, hence 
there must exist either a dedicated server or such, which is capable of serving 
such clients and is responsible to provide late joiners with historic data. A 
generic functionality to build such a client and a server needs to be available 
for such an application. The package was designed and developed to be modular 
with a generic late-initialization client/server classes implementing a 
late-initialization protocol.</P></DIR></DIR>
<H2>Architecture</H2>
<DIR>
<DIR>
<P></A>This section describes the architecture of the software. When 
appropriate, the design decisions and alternatives are discussed.</P>
<H3><A name=ObjectModel>Object Model</H3>
<P>Overall architecture of the software was motivated by the need to have a 
modular, simple and platform-independent RTP implementation which could be 
easily integrated into any application requiring RTP as its transport protocol. 
By choosing Java as the development platform, the goal of having 
platform-independent implementation was immediately met. The object oriented 
features of Java and the language's simplicity made it possible to make the 
software simple and modular.</P>
<P>Session<B>:</P></B>
<P>The top most class the user of the package interacts with is Session. This 
class encapsulates the RTP and RTCP related setup, startup and shutdown 
procedures. Session also serves as the interface using which object's states and 
their interactions are controlled. 
<P>Source</A> objects. Source class encapsulates the source-related attributes, 
which are updated by the sender and receiver modules. The participants include 
active senders as well as listeners. Source table is implemented as a Java 
hash-table, which essentially is an associative array with search functionality 
built into it. The key in the hash-table is the SSRC of the source and the value 
is the Source object itself. Java Map and Vector classes (in java.util) were 
considered as implementation alternatives. Both of these are container classes 
just like the hash-table but due to the reasons discussed below, it was agreed 
upon to use the hash-table.</P>
<P>Map (java.util.Map) is only available in JDK 1.2 (which at the time of 
writing this document is in beta release). Selecting this as a source container 
would have limited the usability of the package to 1.2 or later versions of JDK. 
Hash-table, on the other hand, is available in all JDK releases as early as the 
version 1.02. </P>
<P>Vector (java.util.Vector) was not chosen because it does not provide the 
key-value associations and would have required manual search to find the desired 
source object. The hash-table, on the other hand, has the search functionality 
and association built-in making it trivial to retrieve the desired source object 
given its SSRC as the key.</P>
<P>An implementation aspect of the source table needs to be pointed out; it is 
that the sample implementation suggested rfc-1889 distinguishes between the 
senders and members by maintaining two separate tables. In this package, the 
source table provided by the session holds the members and there is no separate 
table for senders. A source attribute ActiveSender is used to distinguish the 
senders from listeners in the member table. Functions in Session are provided to 
get the senders or the members. 
<P>From the user's perspective, the Session interacts with the network and is 
responsible for sending and receiving RTP and RTCP packets. What constitutes the 
network interaction can be classified into two distinct processes:</P>
<DIR>
<P>(i) Synchronous processes:</P>
<DIR>
<DIR>
<P>Sending RTP packets</P></DIR></DIR>
<P>(i) Asynchronous processes:</P>
<DIR>
<DIR>
<P>Receiving RTCP packets<BR>Receiving RTP packets<BR>Sending RTCP 
packets<BR>&nbsp;</P></DIR></DIR></DIR></DIR>
<P>The <B>synchronous interaction</B> with the network is straightforward, this 
is driven by the application (the user of the package) and is invoked by calling 
the Session.SendRTPPacket() function. 
<P>The <B>asynchronous interaction</B>, on the other hand, requires the RTP and 
RTCP receivers to run on separate threads and wait for the packet arrival. 
Following the reception of a packet, several tasks are performed among which is 
posting of the packet arrival event. Using events, the application has the 
option to ignore a particular event family or subscribe to it. The event model 
and the object interaction that takes place when asynchronous events occur are 
described in the <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/report.html#EventModel">Event 
Model</A> section of this document. </P><B>
<P align=center><IMG height=425 src="Java RTP Implementation.files/Image24.gif" 
width=545></P>
<P align=center>Figure 1: Higher level functional modules</P>
<P>RTP Packet Sending and Receiving: 
<P>Figure 1 depicts the object model where Session uses the RTPThreadHandler 
object to send and receive RTP packets. RTPThreadHandler class is inherited from 
Thread and the function which receives the RTP packets, runs in an infinite 
loop. This loop is started directly by calling the or using Session.Start() 
method which starts all the receivers. RTPThreadHandler class also doubles as a 
sender by providing the SendPacket() function. 
<H3>RTCP Packet Sending and Receiving</H3>
<P>RTCP receiver RTCPReceiverThread is similar to RTPThreadHandler described 
above as it receives RTCP packets in an endless loop, but it is dissimilar as it 
does not provide any send functionality. 
<P>For sending RTCP packets, a separate threaded class RTCPSenderThread is 
provided. The functionality of sending and receiving RTCP packets is not folded 
into one class to keep the design modular and simple. RTCP sender and receiver 
both have complicated algorithms and to keep the changes in the send RTCP module 
from effecting the receiver module (or vice-versa), these functional modules are 
implemented as separate encapsulations. This was decided upon to keep the 
overall design in accordance with the design guideline of isolating the package 
modules from the changes made in other modules, while allowing for 
extensibility. </P>
<P>RTCPThreadHandler class is the parent class, which serves as an intstantiator 
of the sender and receiver thread classes. This class has the sole purpose of 
policing the RTCP sender and receiver threads. </P>
<P>Although sending of the RTCP packets is an asynchronous process, the sender 
thread does not run in an endless loop like the receiver -- the Session</A> has 
some control over it. For instance, after the RTCP sender thread is started, it 
does not send any RTCP packets unless the application (user of the <A 
href="http://www.cs.columbia.edu/~hgs/teaching/ais/1998/projects/java_rtp/docs/java.net.RTP.Session.html">Session</A>) 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩影视精品| 欧美综合久久久| 色8久久精品久久久久久蜜| 欧美美女网站色| 国产日韩影视精品| 亚洲一区二区三区四区在线免费观看| 免费久久99精品国产| 白白色 亚洲乱淫| 91精品国产综合久久蜜臀| 亚洲国产精品传媒在线观看| 亚洲成人福利片| 成人黄色小视频在线观看| 欧美精品在线一区二区| 欧美国产禁国产网站cc| 五月婷婷欧美视频| 成人综合在线观看| 777色狠狠一区二区三区| 中国av一区二区三区| 日本强好片久久久久久aaa| 成人免费看黄yyy456| 欧美日韩电影在线播放| 中文天堂在线一区| 日韩黄色小视频| 99久久婷婷国产| 久久影视一区二区| 亚洲高清中文字幕| 成人高清免费观看| 在线成人午夜影院| 亚洲乱码一区二区三区在线观看| 国产综合色在线| 欧美日韩国产免费一区二区 | 欧美亚洲免费在线一区| 久久综合丝袜日本网| 亚洲一区二区三区四区的| 国产精品系列在线播放| 欧美日韩国产精品自在自线| 亚洲手机成人高清视频| 国产精品香蕉一区二区三区| 日韩三级av在线播放| 亚洲午夜电影在线| 国产精品视频一区二区三区不卡| 午夜激情一区二区| 在线视频亚洲一区| 国产精品不卡一区| 国产91高潮流白浆在线麻豆 | 免费成人性网站| 欧美三级资源在线| 一区二区三国产精华液| 99精品国产91久久久久久| 久久久一区二区三区| 免费观看91视频大全| 欧美精品 国产精品| 又紧又大又爽精品一区二区| eeuss鲁片一区二区三区在线观看| 精品国产人成亚洲区| 日本人妖一区二区| 欧美日本高清视频在线观看| 一区二区三区在线免费观看| 国产成人av一区二区| 久久久国产精华| 国产精品综合一区二区三区| 精品国产制服丝袜高跟| 蜜桃传媒麻豆第一区在线观看| 91精品视频网| 亚洲午夜久久久久久久久电影网 | 亚洲国产欧美一区二区三区丁香婷| av激情综合网| 欧美顶级少妇做爰| 亚洲人成7777| 91福利国产成人精品照片| 亚洲欧美视频在线观看| 色网站国产精品| 一区二区欧美国产| 欧美日免费三级在线| 亚洲成人av电影在线| 宅男噜噜噜66一区二区66| 青青草国产成人99久久| 欧美va在线播放| 国产一区二区免费在线| 国产欧美日韩不卡| 成人高清免费观看| 亚洲视频精选在线| 日本久久一区二区| 五月综合激情网| 精品久久久久久无| 国产精品羞羞答答xxdd| 国产精品成人免费| 欧美亚洲高清一区| 日本不卡在线视频| 精品国精品自拍自在线| 国产精品99久久久久久有的能看| 国产视频一区在线观看| 97久久精品人人做人人爽50路| 亚洲激情六月丁香| 欧美一区二区三区免费视频| 国产一区二区三区不卡在线观看| 中文一区在线播放| 在线欧美日韩国产| 免费在线视频一区| 中文在线免费一区三区高中清不卡| 色婷婷综合久久久久中文 | 欧美精品九九99久久| 日本不卡在线视频| 国产精品丝袜一区| 精品视频色一区| 国产精品一线二线三线精华| 日韩久久一区二区| 555夜色666亚洲国产免| 国产一区二区在线观看视频| 综合欧美亚洲日本| 日韩一区二区在线观看视频| 国产成人精品一区二| 亚洲一区视频在线| 久久久久久久久久久久电影| 日本精品视频一区二区三区| 另类小说一区二区三区| 国产精品网站在线播放| 欧美精品日韩一本| 国产成人在线色| 石原莉奈在线亚洲三区| 国产精品青草久久| 欧美一卡二卡在线| 99久久国产综合精品色伊| 秋霞国产午夜精品免费视频 | 色婷婷精品久久二区二区蜜臂av | 精品久久久久av影院| av在线不卡网| 美女视频一区二区| 亚洲男帅同性gay1069| 精品剧情在线观看| 欧美中文字幕一区二区三区| 国产高清精品在线| 日韩国产一区二| 亚洲欧美韩国综合色| 久久亚洲私人国产精品va媚药| 欧美三级中文字幕| www.成人在线| 国产一区二区三区av电影| 天堂一区二区在线| 亚洲免费在线播放| 国产亚洲欧美中文| 日韩小视频在线观看专区| 色狠狠一区二区三区香蕉| 粉嫩av亚洲一区二区图片| 日韩和的一区二区| 亚洲一区国产视频| 中文字幕亚洲精品在线观看| 精品国产91久久久久久久妲己 | 蓝色福利精品导航| 亚洲1区2区3区视频| 亚洲欧洲制服丝袜| 国产精品污污网站在线观看| 精品国产91九色蝌蚪| 555夜色666亚洲国产免| 欧洲国内综合视频| 97精品电影院| 成人av资源站| 成人久久18免费网站麻豆| 国产一区二区美女诱惑| 麻豆成人久久精品二区三区小说| 午夜精品国产更新| 亚洲一区在线观看免费 | 欧美喷潮久久久xxxxx| 99re6这里只有精品视频在线观看| 国产高清不卡一区二区| 精品一区二区三区香蕉蜜桃 | 久久精品一二三| 精品欧美一区二区在线观看 | 国产高清精品久久久久| 九一九一国产精品| 美国精品在线观看| 日韩成人dvd| 蜜桃av一区二区三区电影| 蜜桃精品在线观看| 麻豆国产91在线播放| 理论电影国产精品| 久久精品久久久精品美女| 免费国产亚洲视频| 欧美一区二区三区在线电影| 欧美日韩国产另类一区| 欧美日韩在线播放| 欧美精品 日韩| 日韩欧美一区在线| 精品国产精品网麻豆系列| 日韩女优av电影| 欧美精品一区二区三区视频 | bt欧美亚洲午夜电影天堂| 大桥未久av一区二区三区中文| 成人激情开心网| 91免费国产在线观看| 欧美色图一区二区三区| 欧美日韩一区视频| 欧美一区二区精品| 久久天天做天天爱综合色| 欧美国产欧美亚州国产日韩mv天天看完整 | 日韩伦理av电影| 一区二区三区在线视频观看| 亚洲电影一区二区| 免费在线观看一区二区三区| 国产一区二区免费看|