简单问题.绑定Socket 出错.怎么搞

OnlyHappy 2004-07-06 01:23:53
UINT ListenThread(LPVOID lParam)
{
UINT uRet = 0;
INT nOk = 0;

WSADATA wsdata;
SOCKADDR_IN addr;


ASSERT(0 == ::WSAStartup(0x0101, &wsdata));
addr.sin_family = AF_INET;
addr.sin_port = htons(6000);
LPHOSTENT ph = (gethostbyname(_T("localhost")));
addr.sin_addr.s_addr = inet_addr(_T("localhost")); // Important


ZeroMemory(&addr, sizeof(addr)); // Zero struct

SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);
if (INVALID_SOCKET == sock)
{
TRACE(_T("Error when create socket\n"));
return -1;
} // if

nOk = bind(sock, (const struct sockaddr*)&addr, sizeof(struct sockaddr));

if (0 != nOk)
{
DWORD dwError = WSAGetLastError();
if (dwError & WSANOTINITIALISED)
{
TRACE(_T("Not Initialize\n"));
}
else if (dwError & WSAEADDRINUSE)
{
TRACE(_T("the address already inused\n"));
}
else if (dwError & WSAEINPROGRESS)
{
TRACE(_T("Processing\n"));
}
else if (dwError & WSAEINVAL)
{
TRACE(_T("Not Bind\n"));
}
else if (dwError & WSAEOPNOTSUPP)
{
TRACE(_T("Note a listen socket\n"));
}
TRACE(_T("Error when bind socket\n"));
return -1L;
}

输出的是Error when bind socket
...全文
94 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
OnlyHappy 2004-07-06
  • 打赏
  • 举报
回复
呵呵。正确。晕头了把这放在下面了。送分
SJcinux 2004-07-06
  • 打赏
  • 举报
回复
去掉ZeroMemory(&addr, sizeof(addr));

18,357

社区成员

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

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