亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美日韩大陆在线| 中文字幕一区二区三区乱码在线| 欧美大片在线观看一区二区| 国产精品伦理在线| 免费在线欧美视频| 欧美视频三区在线播放| 国产欧美日韩亚州综合 | 午夜精品123| 国产凹凸在线观看一区二区| 51精品视频一区二区三区| 中文av一区特黄| 国产一区二区不卡老阿姨| 欧美性色aⅴ视频一区日韩精品| 国产日韩欧美综合在线| 日韩电影免费在线看| 91福利资源站| 国产精品你懂的在线| 国产精品系列在线观看| 日韩一区二区精品| 亚洲gay无套男同| 成人免费av资源| 国产午夜精品美女毛片视频| 蜜桃久久av一区| 69堂国产成人免费视频| 亚洲国产一二三| 一本大道av一区二区在线播放 | 51精品久久久久久久蜜臀| 亚洲一区二三区| 色偷偷久久人人79超碰人人澡| 久久久精品国产99久久精品芒果 | 婷婷开心久久网| 在线观看www91| 亚洲精品少妇30p| 91麻豆123| 亚洲国产人成综合网站| 色综合久久精品| 亚洲图片欧美一区| 欧美日韩三级在线| 午夜久久久久久| 日韩欧美中文字幕精品| 老司机午夜精品99久久| 日韩精品在线网站| 国产精品自产自拍| 国产精品美女一区二区三区| 99久久99久久精品免费看蜜桃| 最近日韩中文字幕| 欧美性生活久久| 五月开心婷婷久久| 久久综合久久鬼色| 国产成人精品影视| 一区二区三区视频在线观看| 欧美精品日韩综合在线| 日本不卡视频在线观看| 久久综合九色综合欧美98| 国产凹凸在线观看一区二区| 亚洲欧美激情插| 欧美一区二区三区公司| 国产精品99久久久久久久女警 | 国产精品毛片无遮挡高清| 99热99精品| 日韩精品乱码免费| 国产欧美日韩不卡免费| 一本大道久久a久久综合婷婷| 日韩在线观看一区二区| 久久精品人人做人人爽97| 91麻豆国产福利在线观看| 免费在线看成人av| 亚洲欧美激情在线| 久久免费美女视频| 色综合婷婷久久| 久久97超碰国产精品超碰| 国产精品色眯眯| 在线不卡一区二区| 成人禁用看黄a在线| 香蕉影视欧美成人| 久久在线观看免费| 日本韩国精品在线| 九一九一国产精品| 亚洲欧美日韩国产手机在线| 欧美大片拔萝卜| 91小视频免费观看| 久久99热99| 亚洲一区二区三区在线看| 欧美α欧美αv大片| 欧美主播一区二区三区美女| 久久不见久久见免费视频1| 综合久久久久综合| 2021国产精品久久精品| 欧美高清hd18日本| 在线日韩一区二区| 国产传媒日韩欧美成人| 日本网站在线观看一区二区三区 | 国产三区在线成人av| 欧美伦理电影网| 91老司机福利 在线| 日本丶国产丶欧美色综合| 久久成人久久爱| 亚洲第一久久影院| 亚洲欧美综合另类在线卡通| 欧美一区二区美女| 欧美性xxxxxx少妇| 成人美女视频在线观看| 激情小说亚洲一区| 日韩成人免费电影| 亚洲国产日韩在线一区模特| 国产精品久久国产精麻豆99网站| 久久影院视频免费| 日韩欧美色综合网站| 欧美精选午夜久久久乱码6080| 91色综合久久久久婷婷| 99久久免费视频.com| 成人中文字幕电影| 成人免费观看av| 国产成人精品在线看| 国产精品99久久久久久久女警 | 色婷婷激情综合| 91丨porny丨国产| 97国产精品videossex| 99久久久国产精品| 在线欧美小视频| 欧美性色综合网| 91麻豆精品国产无毒不卡在线观看| 91精品婷婷国产综合久久| 日韩一区二区三区三四区视频在线观看 | 久久久久国产精品麻豆ai换脸| 精品国偷自产国产一区| 精品国产伦一区二区三区观看方式 | 日韩不卡免费视频| 三级影片在线观看欧美日韩一区二区 | 亚洲女厕所小便bbb| 一区二区欧美视频| 五月天激情综合网| 美女网站色91| 国产在线精品不卡| 成人免费看黄yyy456| 色哟哟精品一区| 欧美精品久久久久久久久老牛影院| 91精品国产一区二区人妖| 精品国免费一区二区三区| 国产亚洲精品精华液| 亚洲色图欧洲色图| 天堂蜜桃91精品| 国产精品自拍网站| 一本大道久久a久久综合婷婷| 欧美人狂配大交3d怪物一区| 日韩精品一区二区三区中文精品 | 成人精品小蝌蚪| 欧美中文字幕一区| 91精品国产综合久久精品app | 日韩三级高清在线| 中文字幕免费在线观看视频一区| 玉米视频成人免费看| 精品一区二区日韩| 色8久久人人97超碰香蕉987| 欧美成人video| 樱桃国产成人精品视频| 麻豆久久一区二区| 色婷婷一区二区三区四区| 日韩欧美一区二区三区在线| 中文字幕一区二区5566日韩| 亚洲妇熟xx妇色黄| 粉嫩蜜臀av国产精品网站| 在线免费av一区| www成人在线观看| 亚洲亚洲人成综合网络| 国产成人av影院| 久久影音资源网| 伊人色综合久久天天人手人婷| 看片的网站亚洲| 欧美色图一区二区三区| 亚洲国产成人一区二区三区| 午夜电影一区二区| 99久久精品情趣| 久久精品亚洲乱码伦伦中文| 婷婷中文字幕综合| 91国产免费观看| 中文字幕一区二区三区av| 激情小说欧美图片| 欧美一区日韩一区| 亚洲国产精品久久久久婷婷884| 风间由美一区二区三区在线观看 | 国产精品国产三级国产aⅴ原创| 久久精品免费看| 欧美日韩午夜在线| 亚洲色图视频网| 丁香婷婷综合激情五月色| 日韩午夜av一区| 日韩精品一卡二卡三卡四卡无卡| 91丨九色porny丨蝌蚪| 亚洲欧洲精品一区二区三区不卡| 国产麻豆9l精品三级站| 欧美成人三级电影在线| 日韩精品三区四区| 欧美日韩国产中文| 亚洲精品成a人| 在线精品视频小说1| 亚洲免费观看在线视频| 成人av综合在线| 亚洲欧美怡红院| 91丝袜美腿高跟国产极品老师|