C++ C/S结构网络编程客户端代码出错,具体问题如下:

#include<winsock2.h>#pragmacomment(lib,"Ws2_32.lib")#include<iostream>usingnamespaces... #include <winsock2.h>
#pragma comment(lib,"Ws2_32.lib")

#include <iostream>
using namespace std;
#define PORT 7788

void main()
{
int ret;
SOCKET s;

//cout<<"初始化网络环境..."<<endl;
WSADATA wsaData;
if((ret=WSAStartup(MAKEWORD(2,2),&wsaData))!=0)
{
printf("初始化WinSock出错");
return ;
}//使用WinSock前都应该调用此函数,用以选择适合的库版本,在此为2.2

//定义客户端socket变量

s=socket(AF_INET,SOCK_STREAM,0);
if(s == INVALID_SOCKET)
{
printf("建立socket出错");
return ;
}

//定义服务器端地址信息
struct sockaddr_in serv;
//设置服务器地址信息
serv.sin_family= AF_INET;
serv.sin_port = htons(PORT);
//设置服务器端IP地址
serv.sin_addr.s_addr=inet_addr("192.168.2.29");

//请求与服务器建立TCP连接
if(connect(s,(struct sockaddr *)&serv,sizeof(serv)) == INVALID_SOCKET)
{
printf("请求建立连接失败\n");
return ;
}
printf("已经成功和服务器建立连接");

//定义一个长为1024 的数组,用来存放发送和接收的数据
char buf[1024];
memset(buf,0,sizeof(buf));
strcpy(buf, " are you ready!\n");
ret = send(s,buf,sizeof(buf),0);
printf("发送数据给服务器。...");
if(ret == SOCKET_ERROR)
{
printf("发送数据出错!\n");
return ;
}
closesocket(s);
WSACleanup();

}

代码贴错来了,编译没问题。但是执行会报错,执行到SOCKET s;下一行空白处出错,错误截图如下:

求大神们指点
展开
 我来答
十五字十五字有
2013-06-05
知道答主
回答量:26
采纳率:0%
帮助的人:10.9万
展开全部

出去给春哥上柱香,回来就好了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ysdoc
2013-06-05 · TA获得超过746个赞
知道小有建树答主
回答量:586
采纳率:60%
帮助的人:404万
展开全部
提示中不是写了吗,s没有初始化造成的,vs的语法校验比较严格。
SOCKET s = 0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
相思丶猫2C
2013-06-05 · TA获得超过1198个赞
知道小有建树答主
回答量:1432
采纳率:50%
帮助的人:954万
展开全部
好诡异,问题解决没?

SOCKET s = socket(AF_INET,SOCK_STREAM,0);这样写
追问

没解决,这样写WSADATA wsaData;这句的前面会报s未定义的错误,截图给你了

追答
#include 改成#include 
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式