请高手看看这段代码 服务器端监听时为何报错(CSocket编的聊天程序)

moplusplus 2006-07-28 10:08:05
m_Port=5001;

WORD wversion;
WSADATA wsadata;
wversion=MAKEWORD(1,1);

BOOL ret=WSAStartup(wversion,&wsadata);
if(ret!=0)
{
AfxMessageBox("fail");
return false;
}


CSocket serversock;
serversock.Create(m_Port,SOCK_STREAM,"127.0.0.1");

sockaddr_in addr;

addr.sin_family=AF_INET;
addr.sin_addr.s_addr=htonl(INADDR_ANY);
addr.sin_port=htons(5001);

if(serversock.Bind((struct sockaddr*)&addr,sizeof(sockaddr)))
{
AfxMessageBox("绑定失败");

}


if(serversock.Listen(1)==SOCKET_ERROR)
{
AfxMessageBox("call answer");
}
else
{
AfxMessageBox("sock error");
int ErrorCode=WSAGetLastError();
}

CSocket accsock;

if(serversock.Accept(accsock)==INVALID_SOCKET)
{
AfxMessageBox("acc succ");
}
else
{
AfxMessageBox("acc fail");
int ErrorCode=WSAGetLastError();
}



memset(buf,0,sizeof(char)*1024);
serversock.Receive(buf,sizeof(buf),MSG_PEEK);
运行后 弹出消息框 "sock error" 不知为何
望高手指点
...全文
153 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rageliu 2006-07-28
  • 打赏
  • 举报
回复
if(serversock.Bind((struct sockaddr*)&addr,sizeof(sockaddr)))

=>

if(serversock.Bind((struct sockaddr*)&addr,sizeof(addr)))试试
healer_kx 2006-07-28
  • 打赏
  • 举报
回复
很难讲.
moplusplus 2006-07-28
  • 打赏
  • 举报
回复
好象不行

18,356

社区成员

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

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