定义socket变量的出错问题

nieqianheng 2009-05-04 10:16:06
#include<Winsock2.h>
#pragma comment(lib,"ws2_32")
#include<stdio.h>
int main(int argc,char* argv[])
{
WSADATA wsaData;
WORD sockVersion=MAKEWORD(2,2);
//加载WINSOCK库
if(WSAStartup(sockVersion,&wsaData)!=0)
return 0;
//创建套接字
SOCKET sListen=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(sListen==INVALID_SOCKET)
{
printf("socket error\n");
return 0;
}
sockaddr_in servAddr;
servAddr.sin_family=AF_INET;
servAddr.sin_port=htons(4500servAddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");

以上是程序的开头,但编译后程序出现错误如下
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(12) : error C2275: 'SOCKET' : illegal use of this type as an expression
c:\program files\microsoft visual studio\vc98\include\winsock2.h(85) : see declaration of 'SOCKET'
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(12) : error C2146: syntax error : missing ';' before identifier 'sListen'
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(12) : error C2065: 'sListen' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(19) : error C2065: 'sockaddr_in' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(19) : error C2146: syntax error : missing ';' before identifier 'servAddr'
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(19) : error C2065: 'servAddr' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(20) : error C2224: left of '.sin_family' must have struct/union type
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(21) : error C2224: left of '.sin_port' must have struct/union type
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(22) : error C2224: left of '.sin_addr' must have struct/union type
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(23) : error C2065: 'sClient' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(23) : error C2065: 'sockaddr' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(23) : error C2059: syntax error : ')'
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(31) : error C2143: syntax error : missing ')' before '('
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(31) : error C2091: function returns function
C:\Program Files\Microsoft Visual Studio\MyProjects\test\Text1.c(31) : error C2373: 'send' : redefinition; different type modifiers
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1787) : see declaration of 'send'

请问各位大哥为什么我的socket编译会出现错误?
...全文
147 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xieyang0521 2009-05-10
  • 打赏
  • 举报
回复
不好意思,上面得丢了一个点。
#pragma comment(lib,"ws2_32") 这里应该是Ws2_32.lib
xieyang0521 2009-05-10
  • 打赏
  • 举报
回复
#pragma comment(lib,"ws2_32") 这里应该是Ws2_32lib

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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