Exemplo n.º 1
0
//	言わずと知れたWinMain
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
	CAppInitializer::Init(hInstance,hPrevInstance,lpCmdLine,nCmdShow);	//	必ず書いてね
	if (!DirCheck()) return 0;
	CSingleApp sapp;
	if (sapp.IsValid()) {
		CAppMainWindow().Run();					//	上で定義したメインのウィンドゥを作成
	}
	return 0;
}
Exemplo n.º 2
0
int Server(char *Port, char *Directory){

	DirCheck(Directory);
	CloudDirMonitor = (char*)malloc(sizeof(char)* 50);
	char * CloudDir = (char*)malloc(sizeof(char)* 50);
	strcpy(CloudDir, Directory);
	strcpy(CloudDirMonitor, Directory);
	int Len = strlen(Directory);
	if (CloudDir[Len - 1] == '\\'){
		CloudDir[Len - 1] = '\0';
	}
	if (CloudDirMonitor[Len - 1] == '\\'){
		CloudDirMonitor[Len - 1] = '\0';
	}
	strcpy(CloudDir + strlen(CloudDir), "\\cloud\\*.*"); //Directory for checking LWT
	strcpy(CloudDirMonitor + strlen(CloudDirMonitor), "\\cloud\\"); //Directory for monitoring
	//cwd = (char*)malloc(sizeof(char)* 261);
	//char buff[MAX_PATH + 1];
	//cwd = getcwd(buff, MAX_PATH + 1);
	//printf("dir: %s\n", cwd);
	//strcat(cwd, "\\");
	//strcat(cwd, CloudDirMonitor);
	//printf("dir: %s\n", cwd);
	//printf("clouddir is %s \n", CloudDir);
	//printf("clouddirMonitor is %s \n", CloudDirMonitor);
	//chdir(cwd); // change directory to server\cloud



	


















	//Socket and buffer initialization
	SOCKET *Ptr;
	SOCKET Socket, new_socket;
	struct sockaddr_in server, client;
	int  recv_len;
	socklen_t c;
	c = sizeof(struct sockaddr_in);
	char *ReceiveBuf;
	ReceiveBuf = (char *)malloc(sizeof(char)* 1024);

	//Initialize Winsock
#ifdef WIN32
	WSADATA wsa;
	if (WSAStartup(MAKEWORD(2, 2), &wsa) != 0){
		printf("Failed to Initialize, Error code : %d", WSAGetLastError());
		exit(EXIT_FAILURE);
	}
#endif
	if ((Socket = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET){
		printf("Could not create socket : d%", WSAGetLastError());
	}
	memset(&server, 0, sizeof(struct sockaddr_in));
	memset(&client, 0, sizeof(struct sockaddr_in));
	server.sin_family = AF_INET;
	server.sin_addr.s_addr = INADDR_ANY;
	server.sin_port = htons(atoi(Port));
	if (bind(Socket, (struct sockaddr *)&server, sizeof(server)) == SOCKET_ERROR){
		printf("Bind failed with error code : %d", WSAGetLastError());
		exit(EXIT_FAILURE);
	}
	listen(Socket, 100);

	//Listening to new TCP connection
	while (1){
		memset(ReceiveBuf, 0, 1024);
		if ((new_socket = accept(Socket, (struct sockaddr *)&client, &c)) == INVALID_SOCKET){
			printf("accept failed with error code: %d\n", WSAGetLastError());
			return 0;
		}
		else{
			Ptr = &new_socket;
			thrd_t TCPSThread;
			if (thrd_create(&TCPSThread, TCPChild, (void*)Ptr) == thrd_error){
				printf("Create thread is failed\n");
				return 0;
			}
		}
		Sleep(2);
	}
	closesocket(Socket);
#ifdef WIN32
	WSACleanup();
#endif
	return 0;
}