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

📄 myudpsink3.cc

📁 一个264程序在NS2下面的仿真程序。非常好用
💻 CC
字号:
#include <stdio.h>#include <stdlib.h>#include "myudpsink3.h"#include "ip.h"#include "udp.h"#include "rtp.h"static class myUdpSink3Class : public TclClass {public:        myUdpSink3Class() : TclClass("Agent/myUdpSink3") {}        TclObject* create(int, const char*const*) {                return (new myUdpSink3);        }} class_myudpsink3;void myUdpSink3::recv(Packet* pkt, Handler*){        //hdr_ip* iph=hdr_ip::access(pkt);  	hdr_cmn* hdr=hdr_cmn::access(pkt);	//hdr_rtp* rtp = hdr_rtp::access(pkt);		pkt_received+=1;	//wireless: fprintf(tFile,"%-16f id %-16d udp %-16d\n", Scheduler::instance().clock(), hdr->frame_pkt_id_, hdr->size()-48);	fprintf(tFile,"%-16f id %-16d udp %-16d\n", Scheduler::instance().clock(), hdr->frame_pkt_id_, (hdr->size()-28));  	  	if (app_)               app_->recv(hdr_cmn::access(pkt)->size());        Packet::free(pkt);}int myUdpSink3::command(int argc, const char*const* argv){	Tcl& tcl = Tcl::instance();		if (strcmp(argv[1], "set_trace_filename") == 0) {		strcpy(tbuf, argv[2]);		tFile = fopen(tbuf, "w");		return (TCL_OK);	}  		if (strcmp(argv[1], "closefile") == 0) {			fclose(tFile);		return (TCL_OK);	}		if(strcmp(argv[1],"printstatus")==0) {		print_status();		return (TCL_OK);	}		return (Agent::command(argc, argv));}void myUdpSink3::print_status(){	printf("MyUdpSink3)Total packets received:%ld\n", pkt_received);}

⌨️ 快捷键说明

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