为何在同一台机子上传递信息,服务器接收的信息为空???顶者有分!!!!

AN_941 2007-05-14 02:29:51
客户端主要代码如下:

//用户信息的结构
typedef struct
{
long id;
char nickname[20];
char sex[10];
int age;
char address[50];
char password[20];
}USER_INF,*LPUSER_INF;

SOCKET sClient;
SOCKADDR_IN inetAddr;
USER_INF userInf;

sClient=socket(AF_INET, SOCK_STREAM, 0);

inetAddr.sin_addr.s_addr=inet_addr("127.0.0.1"); //联接本机的IP
inetAddr.sin_family=AF_INET;
inetAddr.sin_port=htons(SERVER_PORT);

if(connect( sClient, (struct sockaddr *)&inetAddr, sizeof (inetAddr)) == SOCKET_ERROR)
{
AfxMessageBox("注册失败:不能连接Net服务器");
return ;
}


UpdateData(TRUE);

m_cbSex.GetLBText(m_cbSex.GetCurSel(), m_strSex);

if(m_strPwd != m_strVerifyPwd)
{
AfxMessageBox("密码与确认密码不一致");
return ;
}
if(m_strNickname == _T("") || m_nAge==0 || m_strAddress==_T(""))
{
AfxMessageBox("请填充所有选项");
return ;
}

memset(&userInf,0,sizeof(USER_INF));
userInf.id = 0;
strcpy(userInf.nickname, (LPCTSTR)m_strNickname);
strcpy(userInf.sex, (LPCTSTR)m_strSex);
userInf.age = m_nAge;
strcpy(userInf.address, (LPCTSTR)m_strAddress);
strcpy(userInf.password, (LPCTSTR)m_strPwd);

//send "REGT"信息
memset(buff,0,sizeof(buff));
sprintf(buff,"%s","REGT");

if(send(sClient,buff,sizeof(buff),0) == SOCKET_ERROR)
{
AfxMessageBox("注册失败:REGT 信息 send 出错");
closesocket(sClient);
return ;
}

//send userInf
if(send(sClient,(char *)&userInf,sizeof(USER_INF),0) == SOCKET_ERROR) //USER_INF userInf已被赋值
{
AfxMessageBox("注册失败:REGT userInf send 出错");
closesocket (sClient);
return ;
}

服务端主要代码如下:

//保存在线用户的结构
typedef struct
{

char ip[16]; //用户的IP地址
SOCKET sock;
UINT currentnumer; //当前用户排第几位

}ONLINEUSER_INF,*LPONLINEUSER_INF;

ONLINEUSER_INF userinfo;

USER_INF inf;

recv(userinfo.sock ,str,10,0); //userinfo.sock 为客户端的SOCKET
CString string;
string.Format ("%s",str);

if(string==_T("REGT"))
{

memset(&inf,0,sizeof(USER_INF));
if(recv(userinfo.sock,(char *)&inf,sizeof(USER_INF),0)== SOCKET_ERROR)
{
closesocket(userinfo.sock);
AfxMessageBox("REGT recv命令出错");
return 1;
}
}

编译无错误显示,但是服务器接收的USER_INF结构信息为空,怎么回事啊???请大哥们指教,谢谢!!!

顶者有分!!!!
...全文
575 63 打赏 收藏 转发到动态 举报
写回复
用AI写文章
63 条回复
切换为时间正序
请发表友善的回复…
发表回复
linlan999 2008-04-03
  • 打赏
  • 举报
回复
m
AN_94 2008-02-21
  • 打赏
  • 举报
回复

UPUPUPUPUP....................
AN_941 2008-02-21
  • 打赏
  • 举报
回复
感谢各位大哥的指点,结贴了^_^
zhoujianhei 2008-02-21
  • 打赏
  • 举报
回复
严重支持楼主!

http://topic.csdn.net/u/20080110/19/7cb462f1-cac6-4c28-848e-0a879f4fd642.html
AN_94 2008-02-08
  • 打赏
  • 举报
回复
有人知道该怎么给分吗???
Roy_ly 2008-02-05
  • 打赏
  • 举报
回复
看到了,帮顶,哈哈
AN_94 2008-02-05
  • 打赏
  • 举报
回复
顶顶顶顶顶顶顶顶顶顶顶顶顶顶
dfpgb 2008-02-04
  • 打赏
  • 举报
回复
我晕~这贴.....是....
dfpgb 2008-02-04
  • 打赏
  • 举报
回复
只能顶了...
lxh0959 2008-02-04
  • 打赏
  • 举报
回复
发送端send的len应该和接收端recv的len 一样才行!
AN_94 2008-02-04
  • 打赏
  • 举报
回复
有人知道该怎么给分吗
AN_94 2008-02-03
  • 打赏
  • 举报
回复
TO fantiyu 兄:不好意思,问题解决了,不过我不知道怎么给分,请老兄教我,谢谢了^_^

PS:我保证把大部分的分给老兄你,希望大哥继续关照小弟^_^
AN_94 2008-02-03
  • 打赏
  • 举报
回复

UPUPUPUPUPUP....................
fantiyu 2008-02-01
  • 打赏
  • 举报
回复
拜托,顶一年了也没看到你给分啊...
难道问题还没解决?前面我给你的解释没看懂吗?
yanbilian 2008-01-30
  • 打赏
  • 举报
回复
帮顶,祝你早日解决问题
AN_94 2008-01-30
  • 打赏
  • 举报
回复
UPUPUPUPUP..............
AN_94 2008-01-29
  • 打赏
  • 举报
回复
顶顶顶顶顶顶顶。。。。。。。。。。。。。。。。
jjfwenwenti 2008-01-28
  • 打赏
  • 举报
回复
yun
AN_94 2008-01-28
  • 打赏
  • 举报
回复
再顶,再顶,顶顶顶顶顶顶顶。。。。。。。。。。。。。。。。
AN_94 2008-01-24
  • 打赏
  • 举报
回复
再顶,再顶,顶顶顶顶顶顶顶。。。。。。。。。。。。。。。。
加载更多回复(43)

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧