用VC编程出现的连接错误—— 一个弱智的问题
我是个菜鸟级的菜鸟
刚买了本比较旧的书 书中有这样的程序,我在VC6.0下编译通过,但不能执行出现连接错误
helo.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
helo.obj : error LNK2001: unresolved external symbol __imp__send@16
.........
Debug/tcpip.exe : fatal error LNK1120: 8 unresolved externals
Error executing link.exe.
我不知如何解决,那位高手给我一个建议,万分感谢!!!!
我建工程时选的是WIn32 Console Application
以下是hello.cpp
#include < winsock.h>
#include < iostream.h>
class ENoSocket{};
class EBadSocket{};
class EBadClient{};
class CWin32TCPEnv
{
public :
CWin32TCPEnv(void)
{
const WORD wMinVer=0x0101;
WSADATA wsaData;
if(0!=::WSAStartup (wMinVer,& wsaData))
throw ENoSocket();
}
~CWin32TCPEnv(void)
{
if(0!=::WSACleanup ())
throw ENoSocket();
}
};
int main(void)
{
SOCKET s,sc;
CWin32TCPEnv Environment;
try
{
if(INVALID_SOCKET==(s=::socket (PF_INET,SOCK_STREAM,0)))
throw ENoSocket();
SOCKADDR_IN sa;
sa.sin_family=AF_INET;
sa.sin_addr.S_un.S_addr =INADDR_ANY;
sa.sin_port=htons(2058);
if(SOCKET_ERROR==::listen(s,5))
throw EBadSocket();
cout< < "Ready to server my first client.Please connect..."< < endl;
if(INVALID_SOCKET==(sc=::accept(s,NULL,NULL)))
throw EBadSocket();
const char szHello[]="Hello,TCP/IP!\r\n";
if (SOCKET_ERROR==::send (sc,szHello,sizeof(szHello),0))
throw EBadClient();
cout< < "Anotherclient srver!"< < endl;
::closesocket (sc);
::closesocket (s);
}
catch(ENoSocket& )
{
cerr< < "ERR:TCP/IPstack error"< < endl;
}
catch (EBadSocket& )
{
cerr< < "ERR:Server socket is bad."< < endl;
::closesocket(s);
}
catch(EBadClient& )
{
cerr< < "ERR:Client went Bad."< < endl;
::closesocket (sc);
::closesocket (s);
}
return 0;
}