⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 code.htm

📁 本程序是用java编写的一些关于arq协议实现的小程序
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head>   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">   <meta name="Author" content="Shamiul Azom">   <meta name="GENERATOR" content="Mozilla/4.76 [en] (Win98; U) [Netscape]">   <meta name="KeyWords" content="GBN,Go-Back-N,Shamiul,Shamiul Azom">   <title>Go-Back-N Protocol Simulation: Java Applet Code</title></head><body><font face="Courier New,Courier"><font size=-1>//Java Applet Demonstration of Go-Back-N Protocol.</font></font><br><font face="Courier New,Courier"><font size=-1>// Coded by ShamiulAzom. ASU ID: 993456298</font></font><br><font face="Courier New,Courier"><font size=-1>// as project assignedby Prof. Martin Reisslein, Arizona State University</font></font><br><font face="Courier New,Courier"><font size=-1>// Course No. EEE-459/591.Spring 2001</font></font><br><font face="Courier New,Courier"><font size=-1></font></font>&nbsp;<br><font face="Courier New,Courier"><font size=-1></font></font>&nbsp;<font face="Courier New,Courier"><font size=-1></font></font><p><font face="Courier New,Courier"><font size=-1>import java.applet.Applet;</font></font><br><font face="Courier New,Courier"><font size=-1>import java.awt.*;</font></font><br><font face="Courier New,Courier"><font size=-1>import java.awt.event.ActionListener;</font></font><br><font face="Courier New,Courier"><font size=-1>import java.awt.event.ActionEvent;</font></font><br><font face="Courier New,Courier"><font size=-1></font></font>&nbsp;<font face="Courier New,Courier"><font size=-1></font></font><p><font face="Courier New,Courier"><font size=-1>public class gbn extendsApplet implements ActionListener, Runnable</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;{</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final int window_len_def= 5;&nbsp;&nbsp;&nbsp; // Default values of parameters</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final int pack_width_def= 10;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final int pack_height_def= 30;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final int h_offset_def= 100;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final int v_offset_def= 50;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final int v_clearance_def= 300;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final int total_packet_def= 20;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final int time_out_sec_def= 30;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final Color unack_color= Color.red;&nbsp; //&nbsp; Default colors of different packets</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final Color ack_color= Color.yellow;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final Color sel_color= Color.green;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final Color roam_pack_color= Color.red;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final Color roam_ack_color= Color.yellow;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;final Color dest_color= Color.blue;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;int base, nextseq,fps, selected=-1;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;boolean timerFlag,timerSleep;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;Button send, stop,fast, slow, kill, reset;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;Thread gbnThread,timerThread;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;Dimension offDimension;&nbsp;&nbsp;&nbsp;// flashing eliminator: double buffering</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp; ImageoffImage;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp; GraphicsoffGraphics;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;String statusMsg,strCurrentValues;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;packet sender[];</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;// Declaring properties</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;int window_len,pack_width, pack_height, h_offset, v_offset, v_clearance, total_packet,time_out_sec;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;public void init()</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; {</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; String strWinLen,strPackWd, strPackHt, strHrOff, strVtOff, strVtClr, strTotPack, strTimeout;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strWinLen = getParameter("window_length");&nbsp; // Start collecting parameters</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strPackWd = getParameter("packet_width");</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strPackHt = getParameter("packet_height");</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strHrOff = getParameter("horizontal_offset");</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strVtOff = getParameter("vertical_offset");</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strVtClr = getParameter("vertical_clearance");</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strTotPack = getParameter("total_packets");</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strTimeout = getParameter("timer_time_out");</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Get the values of the parameters into properties.</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try {</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (strWinLen != null) window_len = Integer.parseInt(strWinLen);</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (strPackWd != null) pack_width = Integer.parseInt(strPackWd);</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (strPackHt != null) pack_height = Integer.parseInt(strPackHt);</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (strHrOff != null) h_offset = Integer.parseInt(strHrOff);</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (strVtOff != null) v_offset = Integer.parseInt(strVtOff);</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (strVtClr != null) v_clearance = Integer.parseInt(strVtClr);</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (strTotPack != null) total_packet = Integer.parseInt(strTotPack);</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (strTimeout != null) time_out_sec = Integer.parseInt(strTimeout);</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} catch (Exception e) {}</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// If parameter is not found, use default values.</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window_len = (window_len > 0) ? window_len : window_len_def;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; pack_width =(pack_width > 0) ? pack_width : pack_width_def;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; pack_height =(pack_height > 0) ? pack_height : pack_height_def;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; h_offset = (h_offset> 0) ? h_offset : h_offset_def;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; v_offset = (v_offset> 0) ? v_offset : v_offset_def;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; v_clearance =(v_clearance > 0) ? v_clearance : v_clearance_def;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; total_packet= (total_packet > 0) ? total_packet : total_packet_def;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;&nbsp; time_out_sec= (time_out_sec > 0) ? time_out_sec : time_out_sec_def;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; base = 0;&nbsp;&nbsp;&nbsp;// Defining base</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; nextseq = 0;&nbsp;&nbsp;// Defining Next sequence number.</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; fps = 5;&nbsp;&nbsp;&nbsp;// Defining default Frame per Second.</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; sender = newpacket[total_packet];</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; statusMsg = "Readyto run. Press 'Send New' button to start.";</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; strCurrentValues= "Window Base = "+ base +".&nbsp;&nbsp; Next Sequence No. = "+ nextseq;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; // Defining thebuttons</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; send = new Button("SendNew");</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; send.setActionCommand("rdt");</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp; send.addActionListener(this);</font></font><br><font face="Courier New,Courier"><font size=-1>&nbsp;</font></font>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -