- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用程序可以在串行连接和套接字连接之间切换,但不能同时打开。因此,当我尝试在 Socket 和 Serial 之间切换时,我删除了 Socket 连接。
基于套接字的对象使用了一个名为 UsesWinsock 的私有(private)类(在这里向 Len Holgate 大喊大叫,因为它基本上是他的代码(实际上是 RAII,但我从未将它应用于 WSA,直到我看到他这样做))。这只是调用 WSAStart 和 WSACleanUp。
当调用 WSACleanUp 时,它会进入 NTDLL 和汇编程序。 @err,hr 将“传递给系统调用的数据区域太小”作为 HRESULT。
我试过移动代码:按继承顺序移动类会导致破坏序列发生变化,实际上会分解函数,因此它们是破坏序列中最后调用的东西。都没有用。
我很确定我已经释放了所有分配的东西(只有 1 个套接字和几个事件)但我卡住了 - 这对我来说是一个相当重要的问题。
Google is unhelpful returning 4 results of which none solve my problem .
有什么建议吗?
最佳答案
那么,您是否按原样使用我的 UsesWinsock 类?也就是说,你是说它坏了?如果是这样,直接给我发电子邮件可能是解决问题的更有效方法;)
我注意到我的代码实际上并没有检查 dtor 中 WSACleanUp() 的返回码,所以,我假设你正在检查这个,它是 SOCKET-ERROR 并且 WSAGetLastError() 正在报告 ERROR-INSUFFICIENT-BUFFER ?
关于c++ - WSACleanUp 导致异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/552948/
我的应用程序可以在串行连接和套接字连接之间切换,但不能同时打开。因此,当我尝试在 Socket 和 Serial 之间切换时,我删除了 Socket 连接。 基于套接字的对象使用了一个名为 UsesW
通过 atExit 函数注册 WSACleanup 可以吗?我们有几个应用程序可以在代码中的不同点终止,因此我们希望避免在整个代码中到处放置 WSACleanup。目前我们通过 DllMain 调用
我有运行 TCP 服务器的应用程序。为了初始化 TCP,我运行 WSAStartup()。然后我需要加载第三方dll。 Dll 也做一些 TCP 工作并有一些错误 - 它运行 WSACleanup()
我在我的程序中使用套接字。由于我添加了 WSAStartup。我的应用程序运行良好(它一直运行到收到停止信号为止)。收到信号后,它会停止问题,如果我在程序末尾编写 WSACleanup 函数,它会崩溃
我有一个 c++ win32 程序,它使用套接字从服务器下载一些数据。 在 Windows 上使用套接字之前,必须调用 WSAStartup。 MSDN 说:“每次成功调用 WSAStartup 都必
我想使用 boost::shared_ptr 以便在我的函数超出范围时调用 WSACleanup(),如下所示: void DoSomething() { WSAStartup(...);
我是一名优秀的程序员,十分优秀!