Compiling resources...
Compiling...
StdAfx.cpp
Compiling...
ChatSocketServer.cpp
ChatSocketServerDlg.cpp
ServerChatSocket.cpp
ListenSocket.cpp
Generating Code...
Linking...ChatSocketServer.exe - 0 error(s), 0 warning(s)这是编译程序的服务器端的顺序,运行程序后提示:“创建套接字失败”。从编译顺序上看,失败是显然的,因为是先编译的
ChatSocketServerDlg.cpp这个文件,而这个文件里有 if(m_ListenSocket.Create(1500))
{
m_ListenSocket.Listen();
m_ListenSocket.m_pParentWnd=this;
}
else
AfxMessageBox("建立套接字失败!");这段代码。此时我的ListenSocket.cpp根本就没开始编译,产生错误是肯定的,不知分析得对不对?此问题该如何解决呢?谢谢

解决方案 »

  1.   

    这个是编译,你的出错时运行时出错,跟ListenSocket.cpp 编译没关系
    显示的编译顺序只不过显示给你看的,编译器内部会处理好你的类依赖关系你的错误时,你的socket是否有初始化的代码
      

  2.   

    谢谢,经过你的提点,问题解决了。这个忘记加了 if (!AfxSocketInit())
    {
    AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
    return FALSE;
    }顺便问一句,这段代码中是不是说明AfxSocketInit()函数被执行了。为了写法的美观才这么写,冗余的写法可以是:BOOL i;
    i=AfxSocketInit(); if (!i)
    {
    AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
    return FALSE;
    }是否?
      

  3.   

    晕,刚刚server端虽然问题解决了,可Client端去连接,显示“连接失败”