当前位置: 首页 > news >正文

微信网页制作网站建设一建建设网站

微信网页制作网站建设,一建建设网站,行业关键词一览表,wordpress批量传图片一.服务器socket端口绑定失败 问题 在学习socket的使用,服务器使用的是libevent框架,绑定和监听的是服务器的私网ip以及8000端口号。 运行程序却输出打印信息:"bind error"。 //初始化监听 socket 并开始监听客户端连接 void S…

一.服务器socket端口绑定失败

问题

在学习socket的使用,服务器使用的是libevent框架,绑定和监听的是服务器的私网ip以及8000端口号。

运行程序却输出打印信息:"bind error"。

//初始化监听 socket 并开始监听客户端连接
void Server::listen(const char *ip, int port)
{//指定服务器的监听地址和端口。struct sockaddr_in server_info;int len = sizeof(server_info);//初始化结构体,确保没有不必要的垃圾数据。memset(&server_info, 0, len);server_info.sin_family = AF_INET;server_info.sin_port = htons(port);server_info.sin_addr.s_addr = inet_addr(ip);//evconnlistener_new_bind函数会创建一个监听TCP连接的监听器,并将其与事件基(m_base)进行绑定。struct evconnlistener *listener = evconnlistener_new_bind(m_base,listener_cb, this, LEV_OPT_CLOSE_ON_FREE | LEV_OPT_REUSEABLE,5, (struct sockaddr *)&server_info, len);if (NULL == listener){std::cout << "bind error" << std::endl;return;}
​//启动定时器并监听event_base_dispatch(m_base);
​//释放对象evconnlistener_free(listener);event_base_free(m_base);
}
 

解决问题:

1.是否端口号被占用:

使用sudo lsof -i :8000检测。

=》检测到端口无占用。

2.云服务器上是否在安全组上开放了这个端口

检查结果为开放了。

3.查看防火墙设置:

sudo ufw status 输出:

Status: inactive 故没有错误。

4.加上一些打印信息:

inet_addr 返回的是一个 in_addr_t 类型的值。如果无法解析传入的 IP 地址,它将返回 INADDR_NONE。 故我加上了:

server_info.sin_addr.s_addr = inet_addr(ip);
if (server_info.sin_addr.s_addr == INADDR_NONE) {std::cerr << "Invalid IP address: " << ip << std::endl;return;
}

但是我发现ip地址没有错。

故我在 evconnlistener_new_bind 函数后使用 perror 输出详细的错误信息。即:

if (NULL == listener){std::cout << "bind error" << std::endl;return;}



却输出

bind error: Address already in use

bind error

这不是和第一点矛盾了吗?

再使用下面命令查看 当前系统中占用的端口和进程

sudo lsof -i 

输出:

main      6906            root    6u  IPv4 128322      0t0  TCP iZ7xv4i5mr54tgr8r3f9cqZ:8000 (LISTEN)
​

这里有一个名为 main 的进程,PID 为 6906,它正在监听端口 8000

而后发现原来我第一步把8000打错为8080。(手误)

从而我决定杀死这个PID。

kill -9 6906

终于问题解决了!

二.头文件被多重包含解决

#ifndef SERVER_H#define SERVER_H 是防止头文件被多重包含的常见做法。每次包含该头文件时,首先检查是否已经定义了 SERVER_H,如果没有定义则进行定义并包含文件内容。

http://www.dtcms.com/a/614411.html

相关文章:

  • 网络营销推广方式有哪些seo建站
  • 【算法】逻辑回归
  • Android开发-java版:Framgent
  • 网站设计行业背景稳稳在哪个网站做的消防直播
  • 四川建设银行手机银行下载官方网站下载苏州微网站建设
  • 【HarmonyOS】ArkTS的多线程并发(下)——线程间通信对象的传递
  • 平价网站平价网站建设建设钓鱼网站查询系统
  • 毕业做网站运营好吗亚马逊网站开发的技术
  • 电子商务网站建设与管理课后第四章广州市安全教育平台登录入口
  • LeetCode算法日记 - Day 103: 不同的子序列
  • 怎么建立自己网站 asp个人怎么做网站排名优化
  • 20251109 树状DP总结
  • C语言编译器出现Bug | 如何解决C语言编译器常见问题
  • 做淘宝客网站php青岛网站推广企业
  • 第九篇 扫雷游戏 上(末版·精简)
  • ⚡️2025-11-15GitHub日榜Top5|热点智能推送工具
  • python做项目的网站国家标准下载网免费
  • 网站建设服务费属于基于asp网站开发 论文
  • 高斯数据库 (GaussDB) 使用指南
  • 安徽茶叶网站建设网站抽奖模块怎么做
  • 建立自己的影视网站快手免费推广软件
  • 织梦网站调整网店如何推广自己的产品
  • 构建AI智能体:九十五、YOLO视觉大模型入门指南:从零开始掌握目标检测
  • 【文档】Aerial CUDA-Accelerated RAN , Aerial cuBB 部分
  • 育儿心理学
  • 建网站公司 快云淘宝客优惠券的网站是怎么做的
  • 黑马Redis A-基础
  • 一小时速通Pytorch之神经网络相关知识(三)
  • 帝国cms小说网站模板清美未来广告设计公司
  • 从编译角度来理解匿名函数与闭包