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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? itgsend.cpp

?? D-ITG2.4源代碼
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
 /*	Component of the D-ITG 2.4 Platform
 *
 * 	
 *	copyright	: (C) 2004  	by Stefano Avallone, Alessio Botta, Donato Emma, 
 *					Salvatore Guadagno, Antonio Pescape'
 *					DIS Dipartimento di Informatica e Sistemistica				 
 *					(Computer Science Department)
 *					University of Naples "Federico II"	
 *	email:		: {stavallo, pescape}@unina.it, {abotta, demma, sguadagno}@napoli.consorzio-cini.it
 *
 *	This program is free software; you can redistribute it and/or modify
 *	it under the terms of the GNU General Public License as published by
 *	the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 */
 
 




#define SOL_IP IPPROTO_IP

#include "../common/ITG.h"

#ifdef LINUX_OS
#include <netdb.h>
#include "newran.h"		
#include <sys/wait.h>
#include <math.h>
#include <netinet/tcp.h>	
#include <netinet/ip.h>
#include <sys/timeb.h>
#include <sys/shm.h>
#include <pthread.h>
#include <sys/msg.h>
#include <sys/ipc.h>
#endif

#ifdef WIN32
#include "newran/newran.h"	
#include <math.h>
#include <sys/timeb.h>
#include <time.h>
#include <signal.h>
#endif

#include "../common/thread.h"
#include "../common/timestamp.h"
#include "../common/serial.h"
#include "traffic.h"
#include "../common/pipes.h"
#include "ITGSend.h"

#ifdef LINUX_OS
const char DefaultLogFile[] = "/tmp/ITGSend.log";
const char DefaultRecvLogFile[] = "/tmp/ITGRecv.log";
#endif
#ifdef WIN32
char DefaultLogFile[] = "ITGSend.log";
char DefaultRecvLogFile[] = "ITGRecv.log";
#endif
const char DefaultDestIP[] = "127.0.0.1";


flowDescriptor flows[MAX_NUM_THREAD];		
signalChannel signalChannels[MAX_NUM_THREAD];	
pthread_t h_flowParser[MAX_NUM_THREAD];		
flowParserParams parserParams[MAX_NUM_THREAD];	
int multiFlows = 0;
struct addrinfo *logHost = 0;
struct sockaddr_in ManagerIP;
socklen_t ManagerIPslen = sizeof(ManagerIP);
int isFirst = 1;
int isFirstThread = 1;
int isFirstThreadRttm = 1;
int signalChanCount = 0;
char logFile[DIM_LOG_FILE];	
int logging = 0;		
int logremoto = 0;
int logSock;
int logSockSignaling;
int namelogReceiver = 0;
bool setPriority = false;
ofstream out;			
BYTE protoTxLog = DEFAULT_PROTOCOL_TX_LOG;
BYTE protoTx_ServerLogReceiver = DEFAULT_PROTOCOL_TX_LOG_OPZ;
struct addrinfo *serverLogReceiver = 0;

char logFileReceiver[DIM_LOG_FILE];
int logServer = 0;
int managerMode;
int managerSock;
#ifdef LINUX_OS
pthread_mutex_t mutex;
pthread_mutex_t mutexLog;
pthread_mutex_t mutexErrLog;
#endif
#ifdef WIN32
HANDLE mutex;
HANDLE mutexLog;
#endif
char nameProgram[]="ITGSend";


int modeManager(int argc, char *argv[])
{

	int flowCount = 0;

	managerMode = 1;	
	multiFlows = 1;
	struct addrinfo* localHost = 0;
	int size_r = 0, size_s = 0;
	char buffer[80];

	signal(SIGINT, Terminate);
	printf("Press Ctrl-C to terminate\n");

	argv++;
	argc--;
	parserMultiFlows(argv, argc);


	 getaddrinfo("0.0.0.0", NULL, NULL, &localHost);
	 managerSock = socket(localHost->ai_family, SOCK_DGRAM, 0);
	if (managerSock <0)
			printf("XXX error socket()!\n");


	
	SET_PORT(localHost, htons(DEFAULT_PORT_SENDER_MANAGER));
	
	if (bind(managerSock, localHost->ai_addr, localHost->ai_addrlen)) {
			printf("XXX error bind()!\n");
	}


	do {
		size_r = recvfrom(managerSock, buffer, sizeof(buffer), 0,(struct sockaddr *) &ManagerIP, &ManagerIPslen);
#ifdef DEBUG
		printf("Data receveid from SignalManager %d, \n",size_r);
#endif

		buffer[size_r] = '\n';
		buffer[size_r + 1] = '\0';
		
		strcpy(parserParams[flowCount].line, buffer);
		
		parserParams[flowCount].flowId = flowCount + 1;

		
		memmove(buffer + 2 * sizeof(int), buffer, size_r);
		((int *) buffer)[0] = MNG_FLOWSTART;	
		((int *) buffer)[1] = size_r;	

                size_s = sendto(managerSock, buffer, size_r + 2 * sizeof(int), 0,  (struct sockaddr *) &ManagerIP, ManagerIPslen);
#ifdef DEBUG
		printf("Notify ITGManager about the start of the generation %d, \n",size_s);
#endif

		CREATE_THREAD(&parserParams[flowCount], flowParser, NULL, h_flowParser[flowCount]);
		if (h_flowParser[flowCount] < 0) {
			cerr << "Cannot create a process to handle flow " << flowCount +
			    1 << endl;
		}
		flowCount++;
	} while (1);
 return 0;
}


int modeScript(int argc, char *argv[])
{
	char temp[MAX_NUM_THREAD];
	char line[MAX_NUM_THREAD];
	int flowCount = 0;

	multiFlows = 1;
	FILE *batch;

	if ((batch = fopen(argv[0], "r")) == NULL) {
		
		perror("ITGServer Main: ");
		memClean();
		cerr << "Cannot open '" << argv[0] << "' for reading" << endl;
		exit(1);
	}
	argv++;
	argc--;
	parserMultiFlows(argv, argc);
	
	if (fgets(line, sizeof(line) - 1, batch) == NULL) {
		cerr << "errore" << endl;
		memClean();
		exit(1);
	}

	
	strcpy(temp, line);
	do {
		
		strcpy(parserParams[flowCount].line, temp);
		
		parserParams[flowCount].flowId = flowCount + 1;
		CREATE_THREAD(&parserParams[flowCount], flowParser, NULL, h_flowParser[flowCount]);
		if (h_flowParser[flowCount] < 0) {
			perror("ITGSend Main: ");
			cerr << "Cannot create a process to handle flow "
			    << flowCount + 1 << endl;
		}
		flowCount++;
	} while (fgets(temp, sizeof(temp) - 1, batch));
	fclose(batch);


	
	joinThread(flowCount, h_flowParser);
 return 0;
}


int modeCommandLine(int argc, char *argv[])
{
#ifdef DEBUG
	printf("modeCommandLine() started\n");
#endif
	parserParams[0].flowId = 1;
	argvToString(argv, argc, parserParams[0].line);
	flowParser(&parserParams[0]);
	
	return (0);
}

int main(int argc, char *argv[])
{
	
	strcpy(programName, argv[0]);
	argv++;
	argc--;
 	if (!argc) {
		printf("\nMissing argument!!!\nTry ITGSend -h or --help for more information\n");
		exit(1);
	} else if (((argv[0][0] == '-') && (argv[0][1] == 'h')) || ((argv[0][0] == '-')
		&& (argv[0][1] == '-') && (argv[0][2] == 'h'))) {
		printHelp();
		exit(1);
	}

	
	MUTEX_THREAD_INIT(mutex);
	MUTEX_THREAD_INIT(mutexLog);
	strcpy(logFile, DefaultLogFile);
	strcpy(logFileReceiver, DefaultRecvLogFile);
#ifdef WIN32
	MUTEX_THREAD_INIT(mutex_numPipes);
	if (!InitializeWinsock(MAKEWORD(1, 1))) {
		printf("** ERROR ** WSAStartup() failed\n");
		exit(1);
	}
#endif

	for (int i = 0; i < MAX_NUM_THREAD; i++) {
		signalChannels[i].socket = -1;
		signalChannels[i].flows = 0;
		signalChannels[i].errorLog = false;

	}

	
	if ((argc > 0) && (argv[0][0] == '-') && (argv[0][1] == 'Q'))
		modeManager(argc, argv);
	else if ((argc > 0) && (argv[0][0] != '-') && (findL7Proto(argv[0]) == LX_ERROR_BYTE)) {
		modeScript(argc, argv);
	} else {
		modeCommandLine(argc, argv);
	}

	
	Terminate(0);

} 

void parserMultiFlows(char *argv[], int argc)
{
	strcpy(logFile, DefaultLogFile);
	getaddrinfo(DefaultDestIP, NULL, NULL, &logHost);
	SET_PORT(logHost, htons(DEFAULT_LOG_PORT));
	protoTxLog = DEFAULT_PROTOCOL_TX_LOG;

	getaddrinfo(DefaultDestIP, NULL, NULL, &serverLogReceiver);
	SET_PORT(serverLogReceiver, htons(DEFAULT_LOG_PORT));
	protoTx_ServerLogReceiver = DEFAULT_PROTOCOL_TX_LOG_OPZ;

	while (argc > 0) {
		if (argv[0][0] == '-') {
			switch (argv[0][1]) {
			case 'h':
				printHelp();
				Terminate(0);
				break;
			case 'l':
                logging = 1;
				if ((argc < 2) || (argv[1][0] == '-') || !findL7Proto(argv[1])) {
					strcpy(logFile, DefaultLogFile);
					argc -= 1;
					argv += 1;
				} else {
					strcpy(logFile, argv[1]);
					argc -= 2;
					argv += 2;
				}
				break;				
			case 'L':
				logging = 1;
				logremoto = 1;
				
				if ((argc < 2) || (argv[1][0] == '-') || 
                            (findL7Proto(argv[1]) != LX_ERROR_BYTE)){	
				    argc -= 1;
					argv += 1;
				} else {    
                            
                            if (findL4Proto(argv[1]) == LX_ERROR_BYTE){
                   				if (logHost)
                                   freeaddrinfo(logHost);
                                 
                                if (getaddrinfo(argv[1], NULL, NULL, &logHost))
                                  ReportErrorAndExit("General parser",
            					    " Invalid log-server address or protocol", programName, 0);
                       		    argc -= 1;
                     		    argv += 1;				            
               		        } else {  
                                
           						protoTxLog = findL4Proto(argv[1]);
            					argc -= 1;
		       				    argv += 1;
                            }  
                            if ((argc >= 2) && (argv[1][0] != '-') && (findL7Proto(argv[1]) == LX_ERROR_BYTE)) {
                                   if (findL4Proto(argv[1]) == LX_ERROR_BYTE){
                        				if (logHost)
                                       freeaddrinfo(logHost);
                                     
                                     if (getaddrinfo(argv[1], NULL, NULL, &logHost))
                                       ReportErrorAndExit("General parser",
            					       " Invalid log-server address", programName, 0);
                       		         argc -= 2;
                     		         argv += 2;				            
               		               } else {  
                                        
                    			     	protoTxLog = findL4Proto(argv[1]);
            					        argc -= 2;
	       				                argv += 2;
                                    }  
                             } 
                             else {
                       		    argc -= 1;
                     		    argv += 1;                                                       
               		         }  
                 } 
				break;
			case 'X':
				logServer = 1;
				
				if ((argc < 2) || (argv[1][0] == '-') || 
                            (findL7Proto(argv[1]) != LX_ERROR_BYTE)){	
				    argc -= 1;
					argv += 1;
				} else {    
                            
                            if (findL4Proto(argv[1]) == LX_ERROR_BYTE){
                   				if (serverLogReceiver)
                   				freeaddrinfo(serverLogReceiver);
                                 
                                if (getaddrinfo(argv[1], NULL, NULL, &serverLogReceiver))
                                  ReportErrorAndExit("General parser",
            					    " Invalid log-server address or protocol", programName, 0);
                       		    argc -= 1;
                     		    argv += 1;				            
               		        } else {  
                                
           						protoTx_ServerLogReceiver = findL4Proto(argv[1]);
            					argc -= 1;
		       				    argv += 1;
                            }  
                            if ((argc >= 2) && (argv[1][0] != '-') && (findL7Proto(argv[1]) == LX_ERROR_BYTE)) {
                                   if (findL4Proto(argv[1]) == LX_ERROR_BYTE){
                       				if (serverLogReceiver)
                       					freeaddrinfo(serverLogReceiver);
                                     
                                     if (getaddrinfo(argv[1], NULL, NULL, &serverLogReceiver))
                                       ReportErrorAndExit("General parser",
            					       " Invalid log-server address", programName, 0);
                       		         argc -= 2;
                     		         argv += 2;				            
               		               } else {  
                                        
                    			     	protoTx_ServerLogReceiver = findL4Proto(argv[1]);
            					        argc -= 2;
	       				                argv += 2;
                                    }  
                             } 
                             else {
                       		    argc -= 1;
                     		    argv += 1;				            
               		         }  
                 } 
				break;
			case 'x':
	            namelogReceiver = 1;
	            if ((argc < 2) || (argv[1][0] == '-') || !findL7Proto(argv[1])){
					argc -= 1;
					argv += 1;
				} else {
			     	strcpy(logFileReceiver, argv[1]);
					argc -= 2;
					argv += 2;
				}
				break;
			} 
		} 
	} 
} 


void *flowParser(void *param)
{
	int argc;
	char *argv[200];
	char *token;
	flowParserParams *para = (flowParserParams *)param;
#ifdef WIN32
	struct _timeb tstruct;
#endif
	char *ManagerMsg = NULL;
	double seed = 0.0;
#ifdef LINUX_OS
	timeval timeout;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线你懂得| 亚洲高清免费视频| 日本一区二区高清| 久久精品欧美一区二区三区不卡| 欧美电影免费提供在线观看| 久久免费视频色| 欧美激情一区在线观看| 国产精品无遮挡| 亚洲欧美二区三区| 亚洲成人在线免费| 91福利在线看| 欧美午夜一区二区三区免费大片| 欧美精品久久天天躁| 日韩精品一区二区三区中文不卡 | 色综合天天天天做夜夜夜夜做| 99精品热视频| 欧美日韩亚洲综合| 日韩欧美卡一卡二| 亚洲三级在线看| 欧美aaaaa成人免费观看视频| 国产麻豆精品视频| 99久久综合精品| 色爱区综合激月婷婷| 久久综合狠狠综合久久激情| 中文字幕成人av| 亚洲国产精品一区二区尤物区| 琪琪久久久久日韩精品| 国产精品一二三| 欧美视频一区在线| 久久天天做天天爱综合色| 亚洲欧美另类久久久精品| 午夜精品一区二区三区三上悠亚| 国产在线一区观看| 91黄视频在线| wwwwxxxxx欧美| 亚洲第一电影网| av电影天堂一区二区在线| 777xxx欧美| 日本一区二区三区在线不卡| 亚洲国产精品久久人人爱蜜臀| 免费成人在线播放| 欧美亚洲综合另类| 国产视频在线观看一区二区三区| 亚洲成人福利片| 国产91富婆露脸刺激对白| 色婷婷久久一区二区三区麻豆| 久久久亚洲国产美女国产盗摄 | 久久综合av免费| 亚洲第一成年网| 欧美日本在线视频| 久久精品男人天堂av| 午夜精品视频在线观看| 色综合天天天天做夜夜夜夜做| 欧美成人a在线| 亚洲成av人在线观看| 成人免费看片app下载| 日韩精品一区二区三区在线| 日本一不卡视频| 91色九色蝌蚪| 26uuu亚洲| 三级成人在线视频| 91亚洲精品乱码久久久久久蜜桃| 日本一区二区在线不卡| 久久精品国产一区二区| 欧美撒尿777hd撒尿| 日韩理论在线观看| 国产精品综合网| 久久一夜天堂av一区二区三区| 日韩**一区毛片| 欧美性感一类影片在线播放| 中文字幕亚洲精品在线观看| 国产精品系列在线观看| 欧美日韩在线三区| 亚洲主播在线播放| 91视频91自| ●精品国产综合乱码久久久久| 国产一区二区精品久久99| 2020国产精品| 精品在线免费视频| 91精品国产入口| 亚洲成人av在线电影| 日本久久精品电影| 国产日韩欧美电影| 欧美影院午夜播放| 麻豆精品视频在线观看免费| 丁香一区二区三区| 中文av一区特黄| 成人免费毛片嘿嘿连载视频| 国产精品不卡在线| 在线观看网站黄不卡| 亚洲国产美国国产综合一区二区| 欧美日韩久久一区| 免费看精品久久片| 国产精品国产a| 色综合久久久久| 亚洲午夜激情网站| 日韩亚洲欧美一区二区三区| 精品一区二区三区av| 久久这里都是精品| 97se亚洲国产综合自在线观| 亚洲综合在线观看视频| 9191久久久久久久久久久| 精品制服美女丁香| 国产精品久久久久影院老司| 在线日韩一区二区| 蜜桃av一区二区在线观看| 久久精品免视看| 91久久精品午夜一区二区| 日韩成人午夜精品| 国产日韩欧美精品电影三级在线 | 久久尤物电影视频在线观看| 风间由美性色一区二区三区| 亚洲女人****多毛耸耸8| 欧美日韩在线免费视频| 国产一区在线视频| 亚洲激情在线激情| 欧美电影免费观看高清完整版 | 日韩你懂的电影在线观看| 国产精品一区二区无线| 一个色妞综合视频在线观看| 欧美成人高清电影在线| 91污在线观看| 另类调教123区| 亚洲三级在线看| 日韩女优视频免费观看| youjizz国产精品| 蜜桃视频第一区免费观看| 国产精品三级在线观看| 制服丝袜在线91| 99这里只有久久精品视频| 视频一区二区欧美| 亚洲欧洲韩国日本视频| 日韩美女视频一区二区在线观看| 91丝袜美女网| 看片的网站亚洲| 亚洲一级二级在线| 久久一日本道色综合| 欧美无乱码久久久免费午夜一区| 国产激情偷乱视频一区二区三区| 亚洲无人区一区| 中文字幕 久热精品 视频在线| 欧美高清视频不卡网| av亚洲精华国产精华精| 国产在线不卡视频| 午夜精品久久一牛影视| 日韩一区欧美小说| 久久久久久久久99精品| 91精品国产综合久久久久久漫画 | 日韩一卡二卡三卡国产欧美| 91在线观看一区二区| 激情六月婷婷综合| 日韩高清国产一区在线| 亚洲欧美成人一区二区三区| 国产农村妇女毛片精品久久麻豆| 国产无一区二区| 日韩欧美久久久| 欧美人与性动xxxx| 91久久国产综合久久| 99久久99久久久精品齐齐| 国产成人福利片| 国产乱码精品一品二品| 欧美96一区二区免费视频| 性做久久久久久久久| 一区二区三区日韩精品视频| 日本一区二区免费在线| 久久这里只有精品首页| 日韩免费观看高清完整版| 777奇米成人网| 欧美精品自拍偷拍| 欧美日韩国产影片| 色网综合在线观看| 成年人国产精品| 成人在线综合网| 国产精品一二三区| 国产成人亚洲综合色影视| 久久99九九99精品| 奇米综合一区二区三区精品视频| 亚洲成在线观看| 亚洲一区二区精品久久av| 亚洲一区二区视频在线| 一区二区三区精品久久久| 亚洲桃色在线一区| 国产精品电影院| 日韩理论片网站| 一区二区三区四区乱视频| 亚洲精品写真福利| 亚洲精品成人悠悠色影视| 亚洲欧美偷拍另类a∨色屁股| 亚洲人成网站在线| 亚洲欧洲在线观看av| 亚洲另类在线一区| 亚洲永久免费视频| 午夜一区二区三区视频| 亚洲国产一区二区三区| 首页亚洲欧美制服丝腿| 日本网站在线观看一区二区三区| 麻豆91小视频| 国产成人综合视频| 成人激情午夜影院| 色综合久久88色综合天天|