📄 regserverdlg.cpp
字号:
::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 + -