问题标签 [winsock]

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 投票
2 回答
4400 浏览

c++ - Winsocks 发送和接收

我在 Windows Sockets 中使用 WSAEventSelect I/O 模型,现在我想知道我怎么知道我的发送和接收操作已经发送和接收了所有数据?

在我知道之后,我应该如何设计一种方式才能完全发送数据?任何示例将不胜感激。

这是代码(我正在学习的书中的示例代码):

我的想法是,我将设置一个布尔标志来确定接收是否已完成(消息将以其长度为前缀),然后开始处理该数据。但是send()呢?你能告诉我可能性吗?

**编辑:**参见 FD_READ 事件部分

0 投票
2 回答
4287 浏览

c++ - python tcp服务器和c++客户端之间的对话

我在尝试在 python TCP 服务器和 c++ TCP 客户端之间进行通信时遇到问题。在第一次调用后,工作正常,随后的调用会导致问题。

就 WinSock 而言,send() 函数工作正常,它返回正确的长度,而 WSAGetLastError() 没有返回任何有意义的东西。

但是,当使用wireshark查看数据包时,我注意到第一个调用发送了两个数据包,一个包含所有数据的PSH,ACK和一个ACK,但是随后的调用不起作用,只发送PSH,ACK 数据包,而不是后续的 ACK 数据包

接收计算机wireshark证实了这一点,python服务器什么也没做,它没有任何数据从套接字出来,我不能更深入地调试,因为套接字是一个本地类

当我运行一个 c++ 客户端和一个 c++ 服务器(python 会做什么的黑客副本)时,客户端始终忠实地发送 PSH、Ack 和 ACK 数据包,即使在第一次调用之后也是如此。

winsock 发送函数是否应该始终发送 PSH、ACK 和 ACK?如果是这样,为什么在连接到我的 C++ 服务器而不是 python 服务器时会这样做?有没有人遇到过类似的问题?

0 投票
1 回答
1553 浏览

c++ - 使用winsock的p2p通信

我正在尝试使用winsock实现点对点通信,但gethostbyaddr总是返回NULL,这个东西只适用于本地主机,server_name是目标IP地址

我们已经使用 python 实现了 p2p 通信,它在相同的端口号和地址上工作得非常好..感谢任何线索..

我不知道如何在 c++ 中做到这一点,在 python 中我们只使用了 bind(---) ,有人可以告诉我代码片段如何实现它。

0 投票
1 回答
4078 浏览

c++ - 套接字程序 Python vs C++ (Winsock)

我有一个非常适合互联网聊天的 python 程序。但是在 C++ 中基于类似套接字构建的程序不能在 Internet 上运行。
Python程序

我想在 C++ 中构建类似的功能。我从 MSDN 获取服务器和客户端程序。但他们只在本地主机上工作,而不是通过互联网..他们如下......

发件人

接收者

非常感谢您的帮助..

对不起,问题中的代码太多。

0 投票
3 回答
4723 浏览

c++ - 使用 LoadLibrary 和 GetProcAddress 调用 WinSock 函数

基本上我有一个这样的头文件:

然后我做这样的事情:

但是,当我调用此函数(带有 (*start)(test, &wsdata) 的行)时,我收到以下错误消息:

sockets.exe 中 0x7868146a 处未处理的异常:0xC0000005:访问冲突。

我尝试更改调用约定(__cdecl、WINAPI、WSAAPI),但它总是以相同的错误消息结束。

0 投票
1 回答
187 浏览

c++ - XPCOM 组件错误 C2440 中的 _beginthread

我想在 XPCOM 组件中启动线程。这是创建线程的代码

这是一个功能

我收到错误

错误 C2440:“类型转换”:无法从“void (__thiscall P2P::*)(nsCOMPtr)”转换为“void (__cdecl *)(nsCOMPtr)”

0 投票
6 回答
21258 浏览

c - Winsock UDP数据包被丢弃?

我们在 Windows 中有一个通过 UDP 设置的客户端/服务器通信系统。我们面临的问题是,当吞吐量增长时,数据包会被丢弃。我们怀疑这是由于 UDP 接收缓冲区不断被轮询导致缓冲区被阻塞并丢弃任何传入的数据包。读取这个缓冲区是否有可能导致传入的数据包被丢弃?如果是这样,纠正这个问题的选项是什么?该系统是用 C 编写的。如果这太模糊,请告诉我,我可以尝试提供更多信息。谢谢!

0 投票
1 回答
2523 浏览

c++ - UDP套接字端口分配失败

我正在创建一个winsock UDP 程序。我正在使用的代码如下所示。

我总是收到端口分配错误。

我无法理解为什么总是分配的端口为零。如果有人可以帮助我解决这个问题......

0 投票
2 回答
5065 浏览

vb6 - Winsock 下载文件 - vb6

我正在尝试使用 Winsock 下载一些文件并保存它们。就我而言,我有一个包含 2 列的 MSHFlexGrid:一列带有 URL,另一列带有“路径+文件名”(文件将被保存到的位置)。我正在遍历调用下一个函数的所有行:

我收到此错误

40006:请求的事务或请求的错误协议或连接状态

我究竟做错了什么?

0 投票
2 回答
892 浏览

c++ - c++ winsock2,如何判断连接何时关闭

我有一个使用 winsock2 的 c++ 程序。我想知道如何判断某人与我的程序的连接何时关闭。