vc6.0 编译报错,自己网下找了很多资料,没有解决

vc6.0 编译报错,自己网上找了很多资料,没有解决。
本帖最后由 oyljerry 于 2012-11-29 18:15:11 编辑
这是我在网上找的代码,人家已经测试通过了,程序中出现结构体都已经在头文件里面了,怎么还报错呢?
希望哪位给指点一下,已经找了很多资料,无解,才上网发帖的。
#include <WinSock2.h>
#include <stdio.h>

BOOL InitWinsock()
{

WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD( 1, 1 );

err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return TRUE;
}

if ( LOBYTE( wsaData.wVersion ) !=1 ||
        HIBYTE( wsaData.wVersion ) != 1 ) {
/* Tell the user that we could not find a usable */
/* WinSock DLL.                                  */
WSACleanup( );
return TRUE; 
}
}

int main()
{
SOCKET socket1;
sockaddr_in mylocal;
sockaddr_in from;
int fromlen =sizeof(from);
mylocal.sin_family = AF_INET;

mylocal.sin_port=htons(1000); ///监听端口
mylocal.sin_addr.s_addr=INADDR_ANY; ///本机

InitWinsock();
socket1=socket(AF_INET,SOCK_DGRAM,0);
bind(socket1,(struct sockaddr*)&mylocal,sizeof mylocal);
while (1)
{
char buffer[1024]="/0";
printf("waiting for message from others-------------/n");
if (recvfrom(socket1,buffer,sizeof buffer,0,(struct sockaddr*)&from,&fromlen)!=SOCKET_ERROR)
{
printf("Received datagram from %s--%s/n",inet_ntoa(from.sin_addr),buffer);
////给cilent发信息
sendto(socket1,buffer,sizeof buffer,0,(struct sockaddr*)&from,fromlen);

}
Sleep(500);
}
closesocket(socket1);
return 0;
}



出现的错误:
F:\Computer_Programme\Project_Code\UDP_test\UDP_test.c(42) : error C2065: 'sockaddr_in' : undeclared identifier
F:\Computer_Programme\Project_Code\UDP_test\UDP_test.c(42) : error C2146: syntax error : missing ';' before identifier 'mylocal'
F:\Computer_Programme\Project_Code\UDP_test\UDP_test.c(42) : error C2065: 'mylocal' : undeclared identifier
F:\Computer_Programme\Project_Code\UDP_test\UDP_test.c(43) : error C2146: syntax error : missing ';' before identifier 'from'
F:\Computer_Programme\Project_Code\UDP_test\UDP_test.c(43) : error C2065: 'from' : undeclared identifier
F:\Computer_Programme\Project_Code\UDP_test\UDP_test.c(44) : error C2143: syntax error : missing ';' before 'type'
F:\Computer_Programme\Project_Code\UDP_test\UDP_test.c(45) : error C2224: left of '.sin_family' must have struct/union type
F:\Computer_Programme\Project_Code\UDP_test\UDP_test.c(47) : error C2224: left of '.sin_port' must have struct/union type
F:\Computer_Programme\Project_Code\UDP_test\UDP_test.c(48) : error C2224: left of '.sin_addr' must have struct/union type
F:\Computer_Programme\Project_Code\UDP_test\UDP_test.c(49) : error C2275: 'SOCKET' : illegal use of this type as an expression