📄 node478.html
字号:
<html><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><!--Converted with jLaTeX2HTML 2002 (1.62) JA patch-1.4patched version by: Kenshi Muto, Debian Project.LaTeX2HTML 2002 (1.62),original version by: Nikos Drakos, CBLU, University of Leeds* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan* with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --><HTML><HEAD><TITLE>35.2.5 An example</TITLE><META NAME="description" CONTENT="35.2.5 An example"><META NAME="keywords" CONTENT="everything"><META NAME="resource-type" CONTENT="document"><META NAME="distribution" CONTENT="global"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"><META NAME="Generator" CONTENT="jLaTeX2HTML v2002 JA patch-1.4"><META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"><LINK REL="STYLESHEET" HREF="everything.css" tppabs="http://www.isi.edu/nsnam/ns/doc/everything.css"><LINK REL="previous" HREF="node477.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node477.html"><LINK REL="up" HREF="node473.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node473.html"><LINK REL="next" HREF="node479.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node479.html"></HEAD><BODY ><!--Navigation Panel--><A NAME="tex2html8762" HREF="node479.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node479.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="file:/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html8756" HREF="node473.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node473.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="file:/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html8752" HREF="node477.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node477.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="file:/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html8758" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html"><IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="file:/usr/share/latex2html/icons/contents.png"></A> <A NAME="tex2html8760" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html"><IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="file:/usr/share/latex2html/icons/index.png"></A> <BR><B> Next:</B> <A NAME="tex2html8763" HREF="node479.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node479.html">35.3 The class TrafficGenerator</A><B> Up:</B> <A NAME="tex2html8757" HREF="node473.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node473.html">35.2 The transport agent</A><B> Previous:</B> <A NAME="tex2html8753" HREF="node477.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node477.html">35.2.4 Agent upcalls to</A>   <B> <A NAME="tex2html8759" HREF="node1.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node1.html">Contents</A></B>   <B> <A NAME="tex2html8761" HREF="node590.html" tppabs="http://www.isi.edu/nsnam/ns/doc/node590.html">Index</A></B> <BR><BR><!--End of Navigation Panel--><H2><A NAME="SECTION07125000000000000000"></A><A NAME="sec:syscallsexample"></A><BR>35.2.5 An example</H2>Here is an example of how the API is used to implement a simple application(FTP) on top of a FullTCP connection. <P><PRE> set src [new Agent/TCP/FullTcp] set sink [new Agent/TCP/FullTcp] $ns_ attach-agent $node_(s1) $src $ns_ attach-agent $node_(k1) $sink $ns_ connect $src $sink # set up TCP-level connections $sink listen; $src set window_ 100 set ftp1 [new Application/FTP] $ftp1 attach-agent $src $ns_ at 0.0 "$ftp1 start"</PRE><P>In the configuration script, the first five lines of code allocates two newFullTcp agents, attaches them to the correct nodes, and "connects" themtogether (assigns the correct destination addresses to each agent). Thenext two lines configure the TCP agents further, placing one of them inLISTEN mode. Next, <TT>ftp1</TT> is defined as a new FTP Application, and the <TT>attach-agent</TT> method is called in C++ (<TT>app.cc</TT>). <P>The ftp1 application is started at time 0:<PRE> Application/FTP instproc start {} { [$self agent] send -1; # Send indefinitely }</PRE>Alternatively, the FTP application could have been implemented in C++ asfollows:<PRE> void FTP::start() { agent_-\>send(-1); // Send indefinitely }</PRE> Since the FTP application does not make use of callbacks, these functionsare null in C++ and no OTcl callbacks are made. <P><BR><HR><ADDRESS>2003-09-23</ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -