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根本就没开始编译,产生错误是肯定的,不知分析得对不对?此问题该如何解决呢?谢谢
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根本就没开始编译,产生错误是肯定的,不知分析得对不对?此问题该如何解决呢?谢谢
显示的编译顺序只不过显示给你看的,编译器内部会处理好你的类依赖关系你的错误时,你的socket是否有初始化的代码
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
return FALSE;
}顺便问一句,这段代码中是不是说明AfxSocketInit()函数被执行了。为了写法的美观才这么写,冗余的写法可以是:BOOL i;
i=AfxSocketInit(); if (!i)
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
return FALSE;
}是否?