用VC编程出现的连接错误—— 一个弱智的问题

wisename 2002-03-05 08:20:36
我是个菜鸟级的菜鸟
刚买了本比较旧的书 书中有这样的程序,我在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;
}
















...全文
46 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixiao 2002-03-05
  • 打赏
  • 举报
回复
这是你的编译设置里没有包含相应的库文件(.lib)
看下面:
Header: Declared in Winsock2.h.
Library: Use Ws2_32.lib.
把这个库文件加入再试试!
vc_boy 2002-03-05
  • 打赏
  • 举报
回复
将Ws2_32.lib加入,方法是:
Project->Settings->line->object/library modules
在输入框中输入Ws2_32.lib

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧