新进学习C++的网络编程,自己写了一段代码如下:
#include<Winsock2.h>
#include<iostream>
int main()
{
SOCKET sListen=::socket(AF_INET,SOCK_STREAM,0);
if(sListen==INVALID_SOCKET)
{
printf("Failed socket()\n");
return 0;
}
sockaddr_in sin;
sin.sin_family=AF_INET;
sin.sin_port=htons(4567);
sin.sin_addr.S_un.S_addr=INADDR_ANY;
if(::bind(sListen,(LPSOCKADDR)&sin,sizeof(sin))==SOCKET_ERROR)
{
printf("Failed to bin()\n");
return 0;
}
if(::listen(sListen,2)==SOCKET_ERROR)
{
printf("Failed to listen()\n");
return 0;
}
sockaddr_in romote;
int nAddrLen=sizeof(romote);
SOCKET sClient;
char szText [] ="TCP Serve Demo!\r\n";
while(true)
{
sClient=::accept(sListen,(SOCKADDR*)&romote,&nAddrLen);
if(sClient==INVALID_SOCKET)
{
printf("Failed accept()\n");
continue;
}
printf("接收到一個鏈接: %s\r\n",inet_ntoa(romote.sin_addr));
::send(sClient,szText,strlen(szText),0);
::closesocket(sClient);
}
::closesocket(sListen);
return 0;
}
可是通过VC6.0编译是出现
Output Window
Compiling...
test.cpp
Linking...
test.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
test.obj : error LNK2001: unresolved external symbol __imp__send@16
test.obj : error LNK2001: unresolved external symbol __imp__inet_ntoa@4
test.obj : error LNK2001: unresolved external symbol __imp__accept@12
test.obj : error LNK2001: unresolved external symbol __imp__listen@8
test.obj : error LNK2001: unresolved external symbol __imp__bind@12
test.obj : error LNK2001: unresolved external symbol __imp__htons@4
test.obj : error LNK2001: unresolved external symbol __imp__socket@12
Debug/TCP_test.exe : fatal error LNK1120: 8 unresolved externals
Error executing link.exe.
Results
TCP_test.exe - 9 error(s), 0 warning(s)
编译错误,烦求高手告知是什么原因造成的,本人是新手,告知原因的同时告知解决方法和以后怎么避免出现这种错误.
TKS