1. 程式人生 > >Windows下進行Socket程式設計問題

Windows下進行Socket程式設計問題

做Windows網路程式設計經常遇到下面這種情況:

c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(112) : error C2011: “fd_set”: “struct”型別重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(54) : 參見“fd_set”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(147) : warning C4005: “FD_SET”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(88) : 參見“FD_SET”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(156) : error C2011: “timeval”: “struct”型別重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(97) : 參見“timeval”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(212) : error C2011: “hostent”: “struct”型別重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(153) : 參見“hostent”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(225) : error C2011: “netent”: “struct”型別重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(166) : 參見“netent”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(232) : error C2011: “servent”: “struct”型別重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(173) : 參見“servent”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(244) : error C2011: “protoent”: “struct”型別重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(185) : 參見“protoent”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(400) : error C2011: “sockaddr_in”: “struct”型別重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(321) : 參見“sockaddr_in”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(410) : error C2011: “WSAData”: “struct”型別重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(331) : 參見“WSAData”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(470) : warning C4005: “SO_DONTLINGER”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(411) : 參見“SO_DONTLINGER”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(527) : warning C4005: “AF_IPX”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(469) : 參見“AF_IPX”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(555) : warning C4005: “AF_MAX”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(488) : 參見“AF_MAX”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(561) : error C2011: “sockaddr”: “struct”型別重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(494) : 參見“sockaddr”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(601) : error C2011: “sockproto”: “struct”型別重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(503) : 參見“sockproto”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(640) : error C2011: “linger”: “struct”型別重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(540) : 參見“linger”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(653) : warning C4005: “SOMAXCONN”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(553) : 參見“SOMAXCONN”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(679) : warning C4005: “FD_READ”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(571) : 參見“FD_READ”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(682) : warning C4005: “FD_WRITE”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(572) : 參見“FD_WRITE”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(685) : warning C4005: “FD_OOB”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(573) : 參見“FD_OOB”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(688) : warning C4005: “FD_ACCEPT”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(574) : 參見“FD_ACCEPT”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(691) : warning C4005: “FD_CONNECT”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(575) : 參見“FD_CONNECT”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(694) : warning C4005: “FD_CLOSE”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(576) : 參見“FD_CLOSE”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1626) : error C2375: “accept”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(744) : 參見“accept”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1647) : error C2375: “bind”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(749) : 參見“bind”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1666) : error C2375: “closesocket”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(754) : 參見“closesocket”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1685) : error C2375: “connect”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(756) : 參見“connect”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1706) : error C2375: “ioctlsocket”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(761) : 參見“ioctlsocket”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1727) : error C2375: “getpeername”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(766) : 參見“getpeername”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1748) : error C2375: “getsockname”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(771) : 參見“getsockname”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1771) : error C2375: “getsockopt”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(776) : 參見“getsockopt”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1792) : error C2375: “htonl”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(783) : 參見“htonl”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1809) : error C2375: “htons”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(785) : 參見“htons”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1826) : error C2375: “inet_addr”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(787) : 參見“inet_addr”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1843) : error C2375: “inet_ntoa”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(789) : 參見“inet_ntoa”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1861) : error C2375: “listen”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(791) : 參見“listen”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1879) : error C2375: “ntohl”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(795) : 參見“ntohl”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1896) : error C2375: “ntohs”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(797) : 參見“ntohs”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1916) : error C2375: “recv”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(799) : 參見“recv”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1941) : error C2375: “recvfrom”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(805) : 參見“recvfrom”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1967) : error C2375: “select”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(813) : 參見“select”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1991) : error C2375: “send”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(820) : 參見“send”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2016) : error C2375: “sendto”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(826) : 參見“sendto”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2042) : error C2375: “setsockopt”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(834) : 參見“setsockopt”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2064) : error C2375: “shutdown”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(841) : 參見“shutdown”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2084) : error C2375: “socket”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(845) : 參見“socket”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2107) : error C2375: “gethostbyaddr”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(852) : 參見“gethostbyaddr”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2126) : error C2375: “gethostbyname”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(857) : 參見“gethostbyname”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2144) : error C2375: “gethostname”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(859) : 參見“gethostname”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2163) : error C2375: “getservbyport”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(863) : 參見“getservbyport”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2182) : error C2375: “getservbyname”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(867) : 參見“getservbyname”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2200) : error C2375: “getprotobynumber”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(871) : 參見“getprotobynumber”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2217) : error C2375: “getprotobyname”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(873) : 參見“getprotobyname”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2237) : error C2375: “WSAStartup”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(877) : 參見“WSAStartup”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2255) : error C2375: “WSACleanup”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(881) : 參見“WSACleanup”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2272) : error C2375: “WSASetLastError”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(883) : 參見“WSASetLastError”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2289) : error C2375: “WSAGetLastError”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(885) : 參見“WSAGetLastError”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2306) : error C2375: “WSAIsBlocking”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(887) : 參見“WSAIsBlocking”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2323) : error C2375: “WSAUnhookBlockingHook”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(889) : 參見“WSAUnhookBlockingHook”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2340) : error C2375: “WSASetBlockingHook”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(891) : 參見“WSASetBlockingHook”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2357) : error C2375: “WSACancelBlockingCall”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(893) : 參見“WSACancelBlockingCall”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2379) : error C2375: “WSAAsyncGetServByName”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(895) : 參見“WSAAsyncGetServByName”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2406) : error C2375: “WSAAsyncGetServByPort”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(903) : 參見“WSAAsyncGetServByPort”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2432) : error C2375: “WSAAsyncGetProtoByName”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(911) : 參見“WSAAsyncGetProtoByName”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2457) : error C2375: “WSAAsyncGetProtoByNumber”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(918) : 參見“WSAAsyncGetProtoByNumber”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2482) : error C2375: “WSAAsyncGetHostByName”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(925) : 參見“WSAAsyncGetHostByName”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2509) : error C2375: “WSAAsyncGetHostByAddr”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(932) : 參見“WSAAsyncGetHostByAddr”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2532) : error C2375: “WSACancelAsyncRequest”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(941) : 參見“WSACancelAsyncRequest”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2552) : error C2375: “WSAAsyncSelect”: 重定義;不同的連結
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(943) : 參見“WSAAsyncSelect”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(28) : error C2011: “ip_mreq”: “struct”型別重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(372) : 參見“ip_mreq”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(71) : warning C4005: “IP_TOS”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(361) : 參見“IP_TOS”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(72) : warning C4005: “IP_TTL”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(360) : 參見“IP_TTL”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(73) : warning C4005: “IP_MULTICAST_IF”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(355) : 參見“IP_MULTICAST_IF”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(74) : warning C4005: “IP_MULTICAST_TTL”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(356) : 參見“IP_MULTICAST_TTL”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(75) : warning C4005: “IP_MULTICAST_LOOP”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(357) : 參見“IP_MULTICAST_LOOP”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(76) : warning C4005: “IP_ADD_MEMBERSHIP”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(358) : 參見“IP_ADD_MEMBERSHIP”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(77) : warning C4005: “IP_DROP_MEMBERSHIP”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(359) : 參見“IP_DROP_MEMBERSHIP”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(78) : warning C4005: “IP_DONTFRAGMENT”: 巨集重定義
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(362) : 參見“IP_DONTFRAGMENT”的前一個定義
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(359) : error C2079: “sockaddr_gen::Address”使用未定義的 struct“sockaddr”
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(360) : error C2079: “sockaddr_gen::AddressIn”使用未定義的 struct“sockaddr_in”
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(157) : error C2440: “=”: 無法從“unsigned long (__stdcall *)(const char *)”轉換為“DWORD”
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(157) : error C2440: “=”: 無法從“unsigned long (__stdcall *)(const char *)”轉換為“DWORD”
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(157) : error C3861: “inet_addr”: 找不到識別符號
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(208) : error C2027: 使用了未定義型別“sockaddr_in”
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(321) : 參見“sockaddr_in”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(208) : error C2227: “->sin_family”的左邊必須指向類/結構/聯合/泛型型別
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(209) : error C2027: 使用了未定義型別“sockaddr_in”
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(321) : 參見“sockaddr_in”的宣告
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(209) : error C2227: “->sin_port”的左邊必須指向類/結構/聯合/泛型型別
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(210) : error C2027: 使用了未定義型別“sockaddr_in”
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(321) : 參見“sockaddr_in”的宣告

遇到這種情況,網上說的比較多的是調整winsock.h和windows.h的位置,但是專案比較大的時候,多處都用到這些檔案,甚至在進行二次開發的時候,這樣的方法是很難解決問題的,這裡visual studio提供了一個巨集定義,可以很好的解決這個問題:WIN32_LEAN_AND_MEAN,希望對大家有用。