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

📄 regserverdlg.cpp

📁 我为聊狂的聊天软件,又一款UDP聊天软件
💻 CPP
📖 第 1 页 / 共 2 页
字号:
				::GetPrivateProfileString(_T("user"), _T("password"),
					_T("jiaping"), dbPassword.GetBuffer (MAX_PATH),
					MAX_PATH, strFindFile);

				char *password;
				password = recvData +1;

				//检查密码是否相同
				char sendMsg[15];

				if(strcmp( password, dbPassword) ==0)
				{
					strcpy(sendMsg, "success");
					sendNum =::send(clientSocket, sendMsg, strlen(sendMsg)+1, 0);
					
					if(sendNum != SOCKET_ERROR)
					{
						//定义用户信息的各个字段
						
						CString strRealName;
						CString strPetName;
						CString strSex;
						CString strPassword;
						CString strSx;
						CString strBlood;
						CString strConstallation;
						CString strSchool;
						CString strJob;
						CString strHomepage;
						CString strAddress;
						CString strMail;
						int iAge;
						int imyIcon;
						
						//年龄
						iAge = ::GetPrivateProfileInt (_T("user"), _T("age"),
							18, strFindFile);
						
						//图标
						imyIcon = ::GetPrivateProfileInt (_T("user"), _T("myIcon"),
							2, strFindFile);

						//妮称
						::GetPrivateProfileString(_T("user"), _T("petname"),
							_T("男"), strPetName.GetBuffer(MAX_PATH), (MAX_PATH), strFindFile);
						strPetName.ReleaseBuffer ();
						
						//密码
						::GetPrivateProfileString(_T("user"), _T("password"),
							_T("男"), strPassword.GetBuffer(MAX_PATH), (MAX_PATH), strFindFile);
						strPassword.ReleaseBuffer ();
						
						//性别
						::GetPrivateProfileString(_T("user"), _T("sex"),
							_T("男"), strSex.GetBuffer(MAX_PATH), (MAX_PATH), strFindFile);
						strSex.ReleaseBuffer ();
						
						//真名
						::GetPrivateProfileString(_T("user"), _T("realname"),
							_T("我为聊狂"), strRealName.GetBuffer (MAX_PATH),
							MAX_PATH, strFindFile);
						strRealName.ReleaseBuffer ();
						
						//生肖
						::GetPrivateProfileString(_T("user"), _T("sx"),
							_T("猪"), strSx.GetBuffer (MAX_PATH),
							MAX_PATH, strFindFile);
						strSx.ReleaseBuffer ();
						
						//血型
						::GetPrivateProfileString(_T("user"), _T("blood"),
							_T("jA"), strBlood.GetBuffer (MAX_PATH),
							MAX_PATH, strFindFile);
						strBlood.ReleaseBuffer ();
						
						//星座
						::GetPrivateProfileString(_T("user"), _T("constallation"),
							_T("金牛座"), strConstallation.GetBuffer (MAX_PATH),
							MAX_PATH, strFindFile);
						strConstallation.ReleaseBuffer ();
						
						//毕业学校
						::GetPrivateProfileString(_T("user"), _T("school"),
							_T(""), strSchool.GetBuffer (MAX_PATH),
							MAX_PATH, strFindFile);
						strSchool.ReleaseBuffer ();
						
						//职业
						::GetPrivateProfileString(_T("user"), _T("job"),
							_T("软件工程师"), strJob.GetBuffer (MAX_PATH),
							MAX_PATH, strFindFile);
						strJob.ReleaseBuffer ();
						
						//个人主页
						::GetPrivateProfileString(_T("user"), _T("homepage"),
							_T(""), strHomepage.GetBuffer (MAX_PATH),
							MAX_PATH, strFindFile);
						strHomepage.ReleaseBuffer ();
						
						//家庭地址
						::GetPrivateProfileString(_T("user"), _T("address"),
							_T(""), strAddress.GetBuffer (MAX_PATH),
							MAX_PATH, strFindFile);
						strAddress.ReleaseBuffer ();
						
						//邮箱地址
						::GetPrivateProfileString(_T("user"), _T("mail"),
							_T(""), strMail.GetBuffer (MAX_PATH),
							MAX_PATH, strFindFile);
						strMail.ReleaseBuffer ();
						
						char sendBuffer[300];

						//组合发送字段
						sprintf(sendBuffer, "%i,%s,%i,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\0",
							imyIcon, strPetName, iAge, strSex, strPassword,
							strRealName, strSx, strBlood, strConstallation,
							strSchool, strJob, strHomepage, strAddress,
							strMail);
						
						//发送用户信息字段
						::send(clientSocket, sendBuffer, strlen(sendBuffer) +1, 0);
					}
				}
				else
				{
					::send(clientSocket, "passerror", strlen("passerror") +1 , 0);
				}
			}
			//没有该用户的配置信息
			else
			{
				::send (clientSocket, "nouser", strlen("nouser") +1 , 0);
			}
		}
	}
	return 0;
}




//用户注册
void Reg_User(SOCKET clientSocket, char *recvData)
{
	int len;
	//开始注册用户
	CUserInfo userInfo;
	char temp[10];
	char *pos;
	int i;
	
	//头像号
	pos = strchr(recvData, ','); 
	len = strlen(recvData) - strlen(pos);
	for(i=0; i < len; ++i)
	{
		temp[i] = recvData[i];
	}
	temp[i]='\0';
	userInfo.m_imyIcon  =atoi(temp);
	recvData = pos+1;
	
	//妮名
	pos = strchr(recvData, ',');
	len = strlen(recvData) - strlen(pos);
	for(i=0; i<len ; ++i)
	{
		userInfo.m_strPetName [i] = recvData[i];
	}
	userInfo.m_strPetName [i] ='\0';
	recvData= pos+1;
	
	//**************************************
	CString strIniName;
	strIniName.Format ("user\\%s.ini", userInfo.m_strPetName );
	
	//查找是否有相同的妮称
	CFileFind fileFind;
	if(fileFind.FindFile (strIniName))
	{
		if(fileFind.FindNextFile ())
		{
			//有相同的妮称
			::send(clientSocket, "repeat", strlen("repeat") +1 , NULL);
			return;  //继续监听
		}
		
	}
	//*************************************************
	
	//年龄
	pos = strchr(recvData, ',');
	len = strlen(recvData) - strlen(pos);
	for(i=0; i < len; ++i)
	{
		temp[i] = recvData[i];
	}
	temp[i]='\0';
	userInfo.m_iAge =atoi(temp);
	recvData = pos+1;
	
	//性别
	pos = strchr(recvData, ',');
	len = strlen(recvData) - strlen(pos);
	for(i=0; i<len ; ++i)
	{
		userInfo.m_strSex  [i] = recvData[i];
	}
	userInfo.m_strSex  [i] ='\0';
	recvData= pos+1;
	
	//密码
	
	pos = strchr(recvData, ',');
	len = strlen(recvData) - strlen(pos);
	for(i=0; i<len ; ++i)
	{
		userInfo.m_strPassword  [i] = recvData[i];
	}
	userInfo.m_strPassword  [i] ='\0';
	recvData= pos+1;
	
	//真名
	pos = strchr(recvData, ',');
	len = strlen(recvData) - strlen(pos);
	for(i=0; i<len ; ++i)
	{
		userInfo.m_strRealName  [i] = recvData[i];
	}
	userInfo.m_strRealName  [i] ='\0';
	recvData= pos+1;
	
	//生肖
	pos = strchr(recvData, ',');
	len = strlen(recvData) - strlen(pos);
	for(i=0; i<len ; ++i)
	{
		userInfo.m_strSx  [i] = recvData[i];
	}
	userInfo.m_strSx  [i] ='\0';
	recvData= pos+1;
	
	//血型
	pos = strchr(recvData, ',');
	len = strlen(recvData) - strlen(pos);
	for(i=0; i<len ; ++i)
	{
		userInfo.m_strBlood  [i] = recvData[i];
	}
	userInfo.m_strBlood  [i] ='\0';
	recvData= pos+1;
	
	//星座
	pos = strchr(recvData, ',');
	len = strlen(recvData) - strlen(pos);
	for(i=0; i<len ; ++i)
	{
		userInfo.m_strConstallation  [i] = recvData[i];
	}
	userInfo.m_strConstallation  [i] ='\0';
	recvData= pos+1;
	
	//学校
	pos = strchr(recvData, ',');
	len = strlen(recvData) - strlen(pos);
	for(i=0; i<len ; ++i)
	{
		userInfo.m_strSchool   [i] = recvData[i];
	}
	userInfo.m_strSchool   [i] ='\0';
	recvData= pos+1;
	
	//工作
	pos = strchr(recvData, ',');
	len = strlen(recvData) - strlen(pos);
	for(i=0; i<len ; ++i)
	{
		userInfo.m_strJob   [i] = recvData[i];
	}
	userInfo.m_strJob   [i] ='\0';
	recvData= pos+1;
	
	//主页
	pos = strchr(recvData, ',');
	len = strlen(recvData) - strlen(pos);
	for(i=0; i<len ; ++i)
	{
		userInfo.m_strHoemPage   [i] = recvData[i];
	}
	userInfo.m_strHoemPage   [i] ='\0';
	recvData= pos+1;/////////////////////
	
	//地址
	
	pos = strchr(recvData, ',');
	len = strlen(recvData) - strlen(pos);
	for(i=0; i<len ; ++i)
	{
		userInfo.m_strAddress   [i] = recvData[i];
	}
	userInfo.m_strAddress   [i] ='\0';
	recvData= pos+1;
	
	//电子邮件
	len= strlen(recvData);
	for(i=0; i<len ; ++i)
	{
		userInfo.m_strMail   [i] = recvData[i];
	}
	userInfo.m_strMail   [i] ='\0';
	recvData= pos+1;
	
	//写入配置文件
	WritePrivateProfileString(_T("user"), _T("petname"),
		userInfo.m_strPetName , strIniName);
	
	WritePrivateProfileString(_T("user"), _T("sex"),
		userInfo.m_strSex , strIniName);
	
	WritePrivateProfileString(_T("user"), _T("password"),
		userInfo.m_strPassword , strIniName);
	
	WritePrivateProfileString(_T("user"), _T("realname"),
		userInfo.m_strRealName , strIniName);
	
	WritePrivateProfileString(_T("user"), _T("sx"),
		userInfo.m_strSx , strIniName);
	
	WritePrivateProfileString(_T("user"), _T("blood"),
		userInfo.m_strBlood , strIniName);
	
	WritePrivateProfileString(_T("user"), _T("constallation"),
		userInfo.m_strConstallation , strIniName);
	
	WritePrivateProfileString(_T("user"), _T("school"),
		userInfo.m_strSchool , strIniName);
	
	WritePrivateProfileString(_T("user"), _T("job"),
		userInfo.m_strJob , strIniName);
	
	WritePrivateProfileString(_T("user"), _T("homepage"),
		userInfo.m_strHoemPage , strIniName);
	
	WritePrivateProfileString(_T("user"), _T("address"),
		userInfo.m_strAddress , strIniName);
	
	WritePrivateProfileString(_T("user"), _T("mail"),
		userInfo.m_strMail , strIniName);

	CString tempAge;
	tempAge.Format ("%d", userInfo.m_iAge );
	WritePrivateProfileString(_T("user"), _T("age"),
		tempAge , strIniName);

	CString tempMyIcon;
	tempMyIcon.Format ("%d", userInfo.m_imyIcon );
	WritePrivateProfileString(_T("user"), _T("myIcon"),
		tempMyIcon, strIniName );

	//向客户端发送成功信息
	::send(clientSocket, "success", strlen("success") +1, 0);
	
		/*	sprintf(sendBuffer, "Reg:%i,%s,%i,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\0",
		imyIcon, m_strPetName, m_iAge, strSex, m_strPassword,
		m_strRealName, strSx, strBlood, strConstallation,
		m_strSchool, strJob, m_strHomePage, m_strAddress,
		m_strMail);
		
	*/
}

⌨️ 快捷键说明

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