首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异常安全服务器

异常安全服务器
EN

Stack Overflow用户
提问于 2017-11-10 18:40:38
回答 1查看 53关注 0票数 2

我正在构建一个c++服务器库,库的用户将在其中实现对客户端的响应。如果程序在响应实现中遇到任何运行时错误,服务器不应该退出,它应该只关闭线程/连接。

我找到了两种方法。

  1. 使用线程并使用__try __except来捕获异常,例如访问冲突-关闭线程。
  2. 为每个连接启动一个新进程。如果不重新加载进程,对客户端的响应时间将更长,并且将使用更多的RAM。

我主要对第一种选择感兴趣,但在我读过的任何论坛或报纸上都不推荐。关键是要使服务器稳定且永不终止。

我应该选择什么?

EN

回答 1

Stack Overflow用户

发布于 2017-11-10 21:42:00

库的用户将实现对客户端的响应。如果程序在响应实现中遇到任何运行时错误

如果您不控制正在执行的100%的代码,那么进行多进程处理是使其稳定的唯一方法。

捕捉任何“崩溃”的SEH异常都是一项脆弱的业务。代码可能有错误,不会导致任何异常,但是只要覆盖内存,您稍后就会得到一些错误的行为。

您仍然可以捕获这些异常,但是一旦捕获了异常,就应该终止该进程,因为您无法知道进程状态中还有什么被弄乱了。(更好的方法可能实际上是不捕获它们,让进程终止,让您有机会收集崩溃转储。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47229200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档