问题标签 [wsastartup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3148 浏览

c++ - 我可以在调用 WSAStartup() 之前创建一个套接字实例吗?

我正在为 TCP/IP 网络客户端通信编写一个类。在类头中,我创建了一个 SOCKET 成员。该类还包含一个调用 WSAStartup 和检查版本的方法。建立连接的方法首先调用 WSAStartup,然后初始化调用 socket() 函数的 SOCKET 成员。请参阅下面的代码。我想知道这是否“正确”,或者是否有更好的方法。

头文件:

源代码:

0 投票
1 回答
1202 浏览

c++ - 如何替换 WSAStartup(MAKEWORD(2, 2), &data); 与提升:asio?

我有本机 dll 项目,我通过 CLI 包装器从 C# 使用它。在Initialize我正在调用的 dll 方法中

这工作正常。现在我决定将整个 dll 移动到 boost::asio(因为我会将它移植到 Linux 并且我想启用 /Za 编译器选项)。

问题是 - 我应该在哪里以及如何替换WSAStartup通话?

  • 将其移至 CLI 包装器或顶级 C# 项目?
  • 用一些 boost::asio 调用替换它(调用哪个方法?)
0 投票
3 回答
7123 浏览

c - Windows 套接字错误代码 10055

我开发了一个在 Windows 上使用套接字的应用程序。它运行良好,但一段时间后,互联网连接开始失败,最后我收到此错误(10055),这意味着我的应用程序缓冲区空间不足。

实际上,我认为我只使用了 2 个套接字和我自己编写的代码,但确实我使用的是第 3 方库,我不知道它是如何实现的。

我读过很多关于这个麻烦的文献,所以我不是唯一一个遭受它的人,但我不知道如何解决它,或者至少绕过它,因为当它失败时,它会导致我的电脑失去了互联网连接。我已经通过捕获此错误进行了尝试,当它发生时WSACleanup()WSAStartup()即使它不是最佳实践,也会执行 a ......但我的应用程序仍然会陷入此错误。

任何建议将不胜感激。

0 投票
1 回答
9120 浏览

c++ - c++ 项目不会连接到套接字,错误 10093

为什么这个程序不能连接到套接字?

我知道这会WSAStartup失败,但我不知道如何使用它。

0 投票
1 回答
4579 浏览

c++ - 使用 WSAAddressToString 时的问题

问题:我正在尝试使用WSAAddressToString函数来获取计算机的 IP 地址。我浏览了他们网站上的 msdn 文档,结构中的结构太多,我觉得那是我出错的地方。代码在 此处的 pastebin 链接中提供。请让我知道我到底哪里错了。

解答: 在代码中包含WSAStartup函数并在现有代码中进行一些修改后,该问题已得到解决。完整的代码在 pastebin 中,修改后的部分如下。

0 投票
1 回答
19303 浏览

c++ - 使用 C++ 和 winsock 的蓝牙

我发现很难在 C++ 中获取有关蓝牙通信的信息。具体来说,我想避免使用任何第三方库,我只想连接到已经与我的计算机配对的设备。

该设备已经输入了密码,并且可以在我的设备和打印机下的“显示蓝牙设备”中找到。我正在使用 Windows 7 和 Visual Studio 2013 Professional 进行 C++ 开发。

我有一些示例代码(来自这里http://www.winsocketdotnetworkprogramming.com/winsock2programming/winsock2advancedotherprotocol4k.html),它在我的蓝牙收音机上显示信息,然后显示设备信息,它似乎运行良好。尽管它会打印出每个已经与计算机配对的蓝牙设备,而不是在范围内的设备,但这可能是我误解了代码应该做什么。

我一直在浏览蓝牙参考页面(http://msdn.microsoft.com/en-us/library/windows/desktop/aa362930%28v=vs.85%29.aspx),所有功能都只是为了设置蓝牙无线电可用性和其他类似的事情;根本没有连接到找到的设备的迹象。

我一定是遗漏了一些东西,在谷歌搜索时使用了错误的关键词或其他东西,因为我没有发现任何关于连接到蓝牙设备的信息!

如果有人有任何建议、代码或链接,那就太好了!我可以使用串行功能连接到我的设备(非常容易),但我必须手动输入它注册的 COM 端口,这对用户不是很友好。我想扫描并选择,或输入蓝牙设备名称,然后以这种方式连接。

干杯

编辑:

BitBanks 的回答为我指明了正确的方向。唯一缺少的是任何套接字请求之前的 WSAStartup 请求:

0 投票
1 回答
3230 浏览

delphi - 在 FireMonkey3 下检测本地 IP 地址

FireMonkey3下需要检测本地IP地址。在 VCL 版本中,我一直在使用带有方法的单元WinSock

一个限制:不需要使用任何第三方库。我正在将 ASTA 组件移植到 FireMonkey3 平台,并且不想在组件之间建立依赖关系。

0 投票
1 回答
209 浏览

c# - C# 所有套接字都关闭

我试图了解什么会导致给定应用程序的所有套接字关闭/关闭并且无法再次打开。

我的应用程序有多个套接字(http、ftp 等),并且会运行一段时间,但在某些时候(有些确定性),所有套接字都会关闭(我可以通过 看到这一点ProcMon)。

我得到了可怕的Exception: An established connection was aborted by the software in your host machine例外。然后,如果我再次尝试打开套接字,我会收到一条错误消息,说WSAStartup可能没有被调用。

我可以使用哪些工具或技术来调试此类问题?

0 投票
1 回答
1529 浏览

c++ - winsock 连接方法上的错误 10038

我正在尝试与在与客户端相同的计算机上运行的服务器应用程序建立一个简单的连接。

我的代码如下所示:

事先,我打电话WSAStartup(),它不会抛出任何错误。如果服务器打开或关闭,错误不会改变。

我使用的 IP 是 127.0.0.1,我通过端口 80 连接。我尝试了其他东西(1337),这给了我同样的错误。

有什么明显的错误吗?关于可能出现问题的任何想法?

0 投票
1 回答
382 浏览

c++ - 对 WSACleanup() 的错误调用会杀死 WSAStartup()

我有运行 TCP 服务器的应用程序。要初始化 TCP,我运行WSAStartup(). 然后我需要加载第三方dll。Dll 也做一些 TCP 工作并且有一些错误 - 它运行WSACleanup()而不运行WSAStartup()。这个错误会阻止我的 TCP 服务器,因为 dll 会WSACleanup()杀死它。

我无法修复dll。如何避免这种情况。看起来在不同线程中运行使用 dll 和我的 TCP 服务器没有帮助