コード例 #1
0
ファイル: udpclient.cpp プロジェクト: yafngzh/easyMq
main(int argc,char** argv)
{
	if(argc <2)
	{
		printf("%s [port]\n",argv[0]);
		return 0;
	}
	int port = atoi(argv[1]);
	int sockfd;
	char buf[1024];
	struct sockaddr_in server = {AF_INET,port,INADDR_ANY};
	struct sockaddr_in client;
	int iclientlen = sizeof(struct sockaddr_in);

	sockfd = socket(AF_INET,SOCK_DGRAM,0);
	server.sin_port = htons(port);
	bind(sockfd,(struct sockaddr *)&server,sizeof(struct sockaddr_in));

	while(1)
	{
		memset (buf,0,1024);
		int len = recvfrom(sockfd,buf,1024,0,(struct sockaddr *)&client,(socklen_t*)&iclientlen);		//阻塞点

		sendto(sockfd,buf,len,0,(struct sockaddr *)&client,sizeof(struct sockaddr_in));


		PrintBin(stdout,buf,len);
		//fprintf(stderr,"\nRevv:  %s  , from %s ,port %d",buf,inet_ntoa(client.sin_addr),client.sin_port);
		            //  sleep(5);
		
	}	
}
コード例 #2
0
ファイル: jackson.c プロジェクト: reecej662/COEN-20-Labs
int main(int argc, const char * argv[]) {

    unsigned int input;
    int binary[8];
    
    printf("Please enter a decimal integer: ");
    scanf("%d", &input);
    
    Dec2Bin(input, binary);
    PrintBin(binary);
    
    return 0;
}
コード例 #3
0
ファイル: OrderParam.cpp プロジェクト: ThiagoMS3/CMC_Dimer
void OrderParam::PrintError()
{
	PrintBin();
	PrintAC();
}
コード例 #4
0
ファイル: udptest.cpp プロジェクト: yafngzh/easyMq
int main(int argc,char** argv)
{
	if(argc < 3)	    
	{	        
		printf("%s  [mcp_to_scc] [scc_to_mcp]  [ip] [port] [data]\n",argv[0]);
		return 0;			    
	}
	
	CCodeQueue          m_Me2SvrPipe;                      /*输出队列*/
	CCodeQueue          m_Svr2MePipe;                      /*输入队列*/ 	
	
	if(CCodeQueue::CreateMQByFile(argv[1],&m_Me2SvrPipe))
	{
		printf("CreateShmMQ %s failed!\n",argv[1]);
		return -1;	
	}
	
	if(CCodeQueue::CreateMQByFile(argv[2],&m_Svr2MePipe))
	{
		printf("CreateShmMQ %s failed!\n",argv[2]);
		return -1;	
	}

	 int iCodeLength = 1024*1024*3+1024;
	 char *m_szTempBuff = new char[iCodeLength];	
	 memset(m_szTempBuff,'c',iCodeLength);

	int usrlen = strlen(argv[5]);
	while(1)
	{
		int iTag = 0;
		memcpy(&iTag,"MPMG",4);
		iTag = htonl(iTag);
		memcpy(m_szTempBuff + sizeof(TMQHeadInfo),&iTag,4);
		
		int tmp = htonl(usrlen+8);
		memcpy(m_szTempBuff + sizeof(TMQHeadInfo)+4,&tmp,4);
		strcpy(m_szTempBuff + sizeof(TMQHeadInfo)+8,argv[5]);

		TMQHeadInfo* pstMQHeadInfo = (TMQHeadInfo*)m_szTempBuff;
		memset(pstMQHeadInfo,0,sizeof(TMQHeadInfo));
		pstMQHeadInfo->m_ucCmd = TMQHeadInfo::CMD_DATA_TRANS;
		pstMQHeadInfo->m_unClientIP =  inet_addr(argv[3]);
		strcpy(pstMQHeadInfo->m_szSrcMQ,"sss");
		pstMQHeadInfo->m_usClientPort = atoi(argv[4]);
		pstMQHeadInfo->m_ucDataType = TMQHeadInfo::DATA_TYPE_UDP;

		int ret = m_Me2SvrPipe.AppendOneCode((char*)m_szTempBuff,sizeof(TMQHeadInfo)+usrlen+8);
			if (ret <0)
			{
				usleep(10);
			}
			

		printf("SEND: user len=%d\n",sizeof(TMQHeadInfo)+usrlen+8);
		PrintBin(stdout,(char*)m_szTempBuff,sizeof(TMQHeadInfo)+usrlen+8);

		int pkgnum = 0;
		int pkglen = 0;
		int is = time(0);
		while(1)
		{
			iCodeLength = 1024*1024*3+1024;
			int ilen2 = iCodeLength;
			int iRet2 = m_Svr2MePipe.GetHeadCode(m_szTempBuff, &ilen2);
			if(iRet2 < 0 || ilen2 <= 0)
			{
				usleep(10000);
				continue;
			}
			PrintBin(stdout,(char*)m_szTempBuff,ilen2);
			
			pkgnum++;

			pkglen += ilen2;
			
			int in = time(0);	
			if (in-is >=1)
			{
				printf("pkgnum=%d,pkglen=%d\n",pkgnum,(int)(pkglen/1000.0f));
				is = in;
				pkgnum = 0;
				pkglen = 0;
			
			}
		}
		//usleep(300000);
	}
}
コード例 #5
0
ファイル: Secure.c プロジェクト: 13eatrice/SoftEtherVPN
// Test main procedure
void TestSecMain(SECURE *sec)
{
	char *test_str = CEDAR_PRODUCT_STR " VPN";
	K *public_key, *private_key;
	// Validate arguments
	if (sec == NULL)
	{
		return;
	}

	Print("test_str: \"%s\"\n", test_str);

	Print("Writing Data...\n");
	if (WriteSecData(sec, true, "test_str", test_str, StrLen(test_str)) == false)
	{
		Print("WriteSecData() Failed.\n");
	}
	else
	{
		char data[MAX_SIZE];
		Zero(data, sizeof(data));
		Print("Reading Data...\n");
		if (ReadSecData(sec, "test_str", data, sizeof(data)) == false)
		{
			Print("ReadSecData() Failed.\n");
		}
		else
		{
			Print("test_str: \"%s\"\n", data);
		}
		Print("Deleting Data...\n");
		DeleteSecData(sec, "test_str");
	}

	Print("Generating Key...\n");
	if (RsaGen(&private_key, &public_key, 1024) == false)
	{
		Print("RsaGen() Failed.\n");
	}
	else
	{
		X *cert;
		NAME *name;
		X_SERIAL *serial;
		UINT num = 0x11220000;

		Print("Creating Cert...\n");
		serial = NewXSerial(&num, sizeof(UINT));
		name = NewName(L"Test", L"Test", L"Test", L"JP", L"Test", L"Test");
		cert = NewRootX(public_key, private_key, name, 365, NULL);
		FreeXSerial(serial);
		if (cert == NULL)
		{
			Print("NewRootX() Failed.\n");
		}
		else
		{
			Print("Writing Cert...\n");
			DeleteSecData(sec, "test_cer");
			if (WriteSecCert(sec, true, "test_cer", cert) == false)
			{
				Print("WriteSecCert() Failed.\n");
			}
			else
			{
				X *x;
				Print("Reading Cert...\n");
				x = ReadSecCert(sec, "test_cer");
				if (x == NULL)
				{
					Print("ReadSecCert() Failed.\n");
				}
				else
				{
					Print("Checking two Certs... ");
					if (CompareX(x, cert) == false)
					{
						Print("[FAILED]\n");
					}
					else
					{
						Print("Ok.\n");
					}
					FreeX(x);
				}
				if (cert != NULL)
				{
					X *x;
					XToFile(cert, "cert_tmp.cer", true);
					x = FileToX("cert_tmp.cer");
					if (CompareX(x, cert) == false)
					{
						Print("[FAILED]\n");
					}
					else
					{
						Print("Ok.\n");
						Print("Writing Private Key...\n");
						DeleteSecKey(sec, "test_key");
						if (WriteSecKey(sec, false, "test_key", private_key) == false)
						{
							Print("WriteSecKey() Failed.\n");
						}
						else
						{
							UCHAR sign_cpu[128];
							UCHAR sign_sec[128];
							K *pub = GetKFromX(cert);
							Print("Ok.\n");
							Print("Signing Data by CPU...\n");
							if (RsaSign(sign_cpu, test_str, StrLen(test_str), private_key) == false)
							{
								Print("RsaSign() Failed.\n");
							}
							else
							{
								Print("Ok.\n");
								Print("sign_cpu: ");
								PrintBin(sign_cpu, sizeof(sign_cpu));
								Print("Signing Data by %s..\n", sec->Dev->DeviceName);
								if (SignSec(sec, "test_key", sign_sec, test_str, StrLen(test_str)) == false)
								{
									Print("SignSec() Failed.\n");
								}
								else
								{
									Print("Ok.\n");
									Print("sign_sec: ");
									PrintBin(sign_sec, sizeof(sign_sec));
									Print("Compare...");
									if (Cmp(sign_sec, sign_cpu, sizeof(sign_cpu)) == 0)
									{
										Print("Ok.\n");
										Print("Verify...");
										if (RsaVerify(test_str, StrLen(test_str),
											sign_sec, pub) == false)
										{
											Print("[FAILED]\n");
										}
										else
										{
											Print("Ok.\n");
										}
									}
									else
									{
										Print("[DIFFIRENT]\n");
									}
								}
							}
							Print("Deleting test_key...\n");
//							DeleteSecKey(sec, "test_key");
							FreeK(pub);
						}
					}
					FreeX(x);
				}
			}
			Print("Deleting Cert..\n");
//			DeleteSecCert(sec, "test_cer");
			FreeX(cert);
		}
		FreeName(name);
		FreeK(private_key);
		FreeK(public_key);
	}
}