自己写的C++程序,关于socket的使用,怎么提示close 未定义啊,代码如下

#include<stdio.h>#include<stdlib.h>#include<errno.h>#include<string.h>#include<winsoc... #include<stdio.h>
#include<stdlib.h>
#include<errno.h>
#include<string.h>
#include<winsock.h>
#define SERVPORT 3333 /*服务器监听端口号*/
#define BACKLOG 10
void main()
{
int sockfd,client_fd;
/*sock_fd:监听cocket;client_fd:数据传输socket*/
struct sockaddr_in my_addr; /*本机地址信息*/
struct sockaddr_in remote_addr; /*客户端地址信息*/
char *msg="You are Welcome!\n";
if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1){
/*创建面向连接的socket*/
printf("socket 创建出错!");
exit(1);
}
my_addr.sin_family=AF_INET; //各种参数的初始化
my_addr.sin_port=htons(INADDR_ANY);
my_addr.sin_addr.s_addr=INADDR_ANY;
memset(&(my_addr.sin_zero),0,8);
//绑定端口
if(bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr))==-1){
printf("bind 出错");
exit(1);
}
if(listen(sockfd,BACKLOG)==-1){
printf("listen 出错");
exit(1);
}
while(1){
int sin_size=sizeof(struct sockaddr_in);
//接收用户连接
if((client_fd=accept(sockfd,(struct sockaddr *)&remote_addr,&sin_size))==-1){
printf("accept 出错");
continue;
}
if(send(client_fd,msg,strlen(msg),0)==-1){
printf("send 出错");
close(client_fd);
exit(0);
}
close(client_fd);
}
}
展开
 我来答
terranlong
推荐于2018-04-05 · TA获得超过7294个赞
知道大有可为答主
回答量:2660
采纳率:0%
帮助的人:3987万
展开全部
windows 下,关闭socket的函数不是close,而是closesocket,改成closesocket就可以了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
snowwhitecx
2012-09-16 · TA获得超过256个赞
知道答主
回答量:87
采纳率:0%
帮助的人:21.7万
展开全部
也好久没用了,只是从这个出错提示推断的话你能确认你include的那些头文件里确实有定义close这个函数吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式