问题描述
- MFC中Bind()总返回10022
-
一个最简单的tcp服务器端,关键代码如下CDialog::OnInitDialog(); // TODO: Add extra initialization here CSocket sockListen; SOCKADDR_IN serverAddr; serverAddr.sin_family=AF_INET; serverAddr.sin_addr.s_addr=inet_addr("127.0.0.1"); serverAddr.sin_port=htons(5802); if(!sockListen.Create(5802)) { char szError[256] = {0}; sprintf(szError, "create Faild: %d", GetLastError()); AfxMessageBox(szError); return 1; } if (!sockListen.Bind(5802,"127.0.0.1")) //或者用这种Bind方法 //if (!sockListen.Bind((SOCKADDR *)&serverAddr,sizeof(serverAddr))) { char szError[256] = {0}; sprintf(szError, "Bind Faild: %d", GetLastError()); AfxMessageBox(szError); sockListen.Close(); return 1; }
两种Bind方法都显示10022错误,Socket not bound, invalid address or listen is not invoked prior to accept.说是提供了无效的参数,也不知道哪里错了求大神帮帮忙
时间: 2024-08-30 02:33:27