为什么会提示Connection refused啊?

ww884203 ww884203 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
刚刚开始看《UNIX网络编程》,就尝试了一下第一章的获取时间的程序,使用环回地址运行或者查看ifconfig里面的IPv4地址都得到的结果是connect error: Connection refused,请问是什么原因?
如果尝试ping 127.0.0.1的话则没有任何问题。
代码如下;
服务器端

#include "unp.h"
#include <time.h>

int main(int argc , char ** argv)
{
int listenfd , connfd;
struct sockaddr_in servaddr;
char buff[MAXLINE];
time_t ticks;

listenfd = socket(AF_INET , SOCK_STREAM , 0);

bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(13);

bind(listenfd , (SA *)&servaddr , sizeof(servaddr));
listen(listenfd , LISTENQ);

while(1)
{
connfd = accept(listenfd , (SA *)NULL , NULL);
ticks = time(NULL);
snprintf(buff , sizeof(buff) , "%.24s\r\n",ctime(&ticks));
write(connfd , buff , strlen(buff));
close(connfd);
}
return 0;
}

客户端:

#include "unp.h"

int main(int argc , char ** argv)
{
int sockfd , n;
char recvline[MAXLINE + 1];
struct sockaddr_in servaddr;

if(argc != 2)
{
err_quit("usage: a.out <IPaddress>");
}
if( (sockfd = socket(AF_INET , SOCK_STREAM , 0) ) < 0)
{
err_sys("socket error");
}
bzero(&servaddr , sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(13);
if(inet_pton(AF_INET , argv[1] , &servaddr.sin_addr) <= 0)
{
err_quit("inet_pton error for %s",argv[1]);
}
if(connect(sockfd , (SA*)&servaddr , sizeof(servaddr)) < 0)
{
err_sys("connect error");
}
while( ( n = read(sockfd , recvline , MAXLINE)) > 0)
{
recvline[n] = 0;
if(fputs(recvline , stdout) == EOF)
{
err_sys("fputs error");
}
}
if(n < 0)
{
err_sys("fputs error");
}
return 0;
}
...全文

相关推荐

putty connection refused问题

putty connection refused问题的定位解决,putty connection refused问题的定位解决

Andy灬哥

Java中Connection timed out和Connection refused的区别讲解

今天小编就为大家分享一篇关于Java中Connection timed out和Connection refused的区别讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

weixin_38607282

浅析Linux系统下安装wetty和使用说明

本篇文章主要给大家介绍linux系统下安装wetty和使用说明,以及linux tty命令学习总结,感兴趣的朋友跟着小编一起学习吧

weixin_38595019

解决vue net :ERR_CONNECTION_REFUSED报错问题

主要介绍了解决vue net :ERR_CONNECTION_REFUSED报错问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38697274

【Python3 网络编程】ConnectionRefusedError: [Errno 111] Connection refused

在网络通信中,经常出现Connection Refused报错提示,不仅仅是socket编程,也有xshell连接时出现这种问题。在查阅资料后,把常见问题记入本文。 服务器拒绝,有几个可能性: 服务器没启动或未监听端口(用TCP工具连一下你的服务器,看下服务器是否正常监听端口。如果是Windows开发者也可以使用Windows的CMD命令行telnet测试下,格式是 telnet 地址 端口); 地址错误; 端口错误; 类型错误; 被防火墙拦截。 我觉得在Client请求连接的过程中被Refused是因为HA尚未抓到包并Recognized,导致HA的跳变真实套接字并没有被bind

weixin_38711041
评论 5
收藏 已收藏
分享
返回顶部
ww884203
C++ 语言 65,214 成员 250,514 内容