- 73
- 0
#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <stdio.h>#include <unistd.h>#include <fcntl.h>#include <cstdint>#include <stdio.h>#include <string>#include <assert.h>#include <arpa/inet.h>#include <string.h>#include "netStream.h"int SetNonBlocking(int nSockFd){ int nOldOption = fcntl(nSockFd, F_GETFL); if(nOldOption == -1) { assert(false); return -1; } int nNewOption = nOldOption | O_NONBLOCK; if(fcntl(nSockFd, F_SETFL, nNewOption) == -1) { assert(false); return -1; } return 0;}int main(){ struct sockaddr_in stServerAddress; bzero(&stServerAddress, sizeof(stServerAddress)); stServerAddress.sin_family = AF_INET; inet_pton(AF_INET, "127.0.0.1", &stServerAddress.sin_addr); stServerAddress.sin_port = htons(12345); int fd = socket(PF_INET, SOCK_STREAM, 0); assert(fd >= 0); SetNonBlocking(fd); int ret = connect(fd, (struct sockaddr*)&stServerAddress, sizeof(stServerAddress)); printf("ret = %d, errno is %d, error:%s\n", ret, errno, strerror(errno)); ret = connect(fd, (struct sockaddr*)&stServerAddress, sizeof(stServerAddress)); printf("ret = %d, errno is %d, error:%s\n", ret, errno, strerror(errno)); ret = connect(fd, (struct sockaddr*)&stServerAddress, sizeof(stServerAddress)); printf("ret = %d, errno is %d, error:%s\n", ret, errno, strerror(errno));}我的执行结果是:ret = -1, errno is 115, error:Operation now in progressret = -1, errno is 111, error:Connection refusedret = -1, errno is 115, error:Operation now in progress为什么第二个connect才是ECONNREFUSED,第一个connect其实就连不上。现在困惑的是哪些情况下返回ECONNREFUSED,哪些情况下返回EINPROGRESS,这两个错误码有什么区别呢?
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

