注册 登录
编程论坛 VC++/MFC

Socket问题

guer168 发布于 2010-10-31 15:49, 756 次点击
#include<Winsock2.h>
#include<stdio.h>
void main()
{
    WORD wVersionRequested;
    WSADATA wsaData;
    int err;
    wVersionRequested = MAKEWORD( 1, 1 );
    err = WSAStartup( wVersionRequested, &wsaData );
    if ( err != 0 ) {
        
        return;
    }
    if ( LOBYTE( wsaData.wVersion ) != 2 ||
        HIBYTE( wsaData.wVersion ) != 2 ) {
        WSACleanup( );
        return;
    }
    SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);
    SOCKADDR_IN addrSrv;
    addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
    addrSrv.sin_family=AF_INET;
    addrSrv.sin_port=htons(6000);
    bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
    listen(sockSrv,5);
    SOCKADDR_IN addrClient;
    int len=sizeof(SOCKADDR);
    while(1)
    {
        SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
        char sendBuf[100];
        sprintf(sendBuf,"Welcome %s to http://www.,
            inet_ntoa(addrClient,sin_addr));
        send(sockConn,sendBuf,strlen(sendBuf)+1,0);
        char recvBuf[100];
        recv(sockConn,recvBuf,100,0);
        printf("%s\n",recvBuf);
        closesocket(sockConn);
    }
}

--------------------Configuration: 10_31_1 - Win32 Debug--------------------
Compiling...
10_31_1.cpp
D:\VC\10_31_1\10_31_1.cpp(33) : error C2065: 'sin_addr' : undeclared identifier
执行 cl.exe 时出错.

10_31_1.exe - 1 error(s), 0 warning(s)
为什么会说sin_addr没有定义,这里到底是哪个地方出了问题?
3 回复
#2
shafeilong2010-10-31 19:08
童鞋  你粗心了
  sprintf(sendBuf,"Welcome %s to http://www.,
            inet_ntoa(addrClient.sin_addr));  那边应该是'.'而不是逗号
#3
guer1682010-10-31 23:44
是的,是我粗心了
#4
haipe2010-11-20 20:42
这样的错误在 错误提示里面就能找出来啊 。。。
1