为什么会出现这样的错误: error C2065: 'WSAStratup' : undeclared identifier ,求解释,谢谢!

星星相映 2014-02-20 10:15:25
//Echo client

#include <iostream>
#include <stdio.h>
#include <winsock2.h>
using namespace std;
#pragma comment(lib, "ws2_32") //Winsock 使用的库函数, #pragma 是在目标文件或可执行文件中放入一个注释记录

#define ECHO_DEF_PORT 7 //连接的默认端口
#define ECHO_BUF_SIZE 256 //缓冲区的大小

int main (int argc,char * * argv) //argc是非负整数,argv[0]是程序的名字,argv[1]~argv[argc]是程序的参数
{
WSADATA wsa_data;
SOCKET echo_soc =0; //socket句柄
struct sockaddr_in serv_addr; //服务器地址
unsigned short port=ECHO_DEF_PORT;
int result=0, send_len=0;
char *test_data= "Hello World!" ,recv_buf[ECHO_BUF_SIZE];

if(argc<2) //检查命令行参数,一般至少有2个(程序的名字,服务器的地址,服务器的端口号,没有时为默认端口号)
{
cout<<"input server_address[port]"<<argv[0]<<endl;
return -1;
}

if(argc>=3)
port=atoi(argv[2]);

WSAStratup(MAKEWORD(2,0), &wsa_data) ; //初始化Winsock资源
send_len =strlen(test_data);

//服务器地址
serv_addr.sin_family= AF_INET; //标识internet地址
serv_addr.sin_port=htons(port); //16位的端口号
serv_addr.sin_addr.s_addr =inet_addr(argv[1]); //服务器的地址

if(serv_addr.sin_addr.s_addr=INADDR_NONE)
{
cout<<"[ECHO] invalid address "<<endl;
return -1;
}

echo_soc =socket (AF_INET, SOCK_STREAM, 0); //创建socket
result= connect(echo_soc, (struct sockaddr * )&serv_addr, sizeof(serv_addr)); //句柄;服务器的地址;地址结构的长度

if(result=0) //连接成功
{
result=send( echo_soc, test_data, send_len, 0); //句柄;数据缓冲区;协议数据的长度; 。
result=recv( echo_soc, recv_buf, ECHO_BUF_SIZE,0);
}

if(result>0)
{
recv_buf[result]=0;
cout<<"[ECHO Client] receives "<<recv_buf <<endl;
}
else
cout<<"[ECHO Client] error"<<WSAGetLastError()<<endl;

closesocket(echo_soc);
WSACleanup();

return 0;
}


...全文
222 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-02-21
  • 打赏
  • 举报
回复
引用 1 楼 u010404462 的回复:
WSAStratup(MAKEWORD(2,0), &wsa_data) ; 问题解决了,出现了拼写错误WSAStartup
关于自己是否适合编程的很简单的测试: 在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案: A里面有10处以上文字或标点错误 B里面没有文字或标点错误并敢为此跟人打赌 C里面没有文字或标点错误并且字体和排版完全与原稿一致 D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感 A不适合编程(理由:打字准确度偏低、粗心大意) B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念) C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证) D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!) 如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”
氰客 2014-02-20
  • 打赏
  • 举报
回复
漫步者、 2014-02-20
  • 打赏
  • 举报
回复
星星相映 2014-02-20
  • 打赏
  • 举报
回复
WSAStratup(MAKEWORD(2,0), &wsa_data) ; 问题解决了,出现了拼写错误WSAStartup

64,647

社区成员

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

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