大哥们,帮帮忙看c++的socket监听不到http客户端的请求

c++的socket监听不到http客户端的请求,试了很多遍,和书上代码一样的就是监听不到绝望了

你把代码贴出来啊,既然是监听不到就是代码有问题

我想用ServerSocket监听一个端口,然后通过在浏览器中输入http://localhost:port/的方式访问这个server。有没有谁遇到过这样的问题?

参考一下这段代码,我试过了,可以用
#include
#pragma comment(lib,"WS2_32")

WSADATA swadata;  
WORD sockVersion=MAKEWORD(2,0);//winsock的版本2.0  
WSAStartup(sockVersion,&swadata);//初始化WInsock库,swadata返回库的信息 

SOCKET s=::socket(AF_INET,SOCK_STREAM,0);      

sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_port = htons(8078);
sin.sin_addr.S_un.S_addr= htonl(INADDR_ANY);//作为服务器,bind本地的IP地址上进行监听,但是机器上可能有多块网卡,
                                        //也就有多个IP地址,这时候你要选择绑定在哪个IP上面,如果指定为INADDR_ANY,那么系统将绑定默认的网卡【即IP地址】。

if(::bind(s,(SOCKADDR*)&sin,sizeof(sin))==SOCKET_ERROR)  
{  
    // CString  Cerr  = WSAGetLastError();
    AfxMessageBox("bind is failed");  
    ::WSACleanup();   //在完成对请求的Socket库的使用后,要调用WSACleanup函数来解除与Socket库的绑定并且释放Socket库所占用的系统资源
    //system("pause");  
    return false;  
}  
AfxMessageBox("bind is successful !\n");  

 //监听模式  
if(::listen(s,2)==SOCKET_ERROR)  
{  
    AfxMessageBox("listen is failed!\n");  
    ::WSACleanup();  
    //system("pause");  
    return false;  
}  

AfxMessageBox("listen is succeed!\n");  
sockaddr_in addrlink;  
int Len=sizeof(addrlink);  
char anser[]="HTTP/1.1 200 OK\r\n\r\n<html><head><title></title></head><body>yours</body></html>\r\n";  
char buf[1024];  
SOCKET client;  

while(1)  
{  
    client=::accept(s,(SOCKADDR*)&addrlink,&Len);  
    if(client==INVALID_SOCKET)  
    {  
       AfxMessageBox("accept is failed!");  
       ::closesocket(client); 
       continue;  
    }  
    int n;  

    n=::recv(client,buf,1024,0); 
    buf[n]='\0';  

    CString cStr;
    cStr.Format(" %s",buf);
    AfxMessageBox(cStr);

    ::send(client,anser,strlen(anser),0);     
}  


::closesocket(s);  
::WSACleanup();   

return TRUE;  

}

是在虚拟机上跑的代码吗?注意一下网段是否相同