问题标签 [winsock2]
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.
qt - 在 Qt 中使用套接字 winapi
我正在使用与远程服务器通信的 API,它仅在C
. 我无法重写它,因为它是一个非常具体的协议,而且会花费太多精力。
提供的 API 它使用标准的 Winsock2 方案。所以,为了使用它,我添加了
到我项目的 .pro 文件。
但是,当程序访问任何 WinSock 函数时WSAStartup
,它甚至会立即崩溃并显示错误消息SIGILL -- Illegal Instruction
。我究竟做错了什么?
c++ - 如何从 Windows Socket (C++) 获取连接主机的 IP 地址?
我以前见过这个问题,但我从来没有找到有效的答案。我需要获取我的服务器所连接的计算机的显式 IP 地址(即 123.456.789.100)和端口号,以便将该信息转发给其他客户端。我在 Windows 7(家庭高级版)、Visual Studio 2010 Professional 上使用 WinSock2.h - 制作“C++ 控制台应用程序”。这是一个 TCP 连接。到目前为止,这是我的代码:
这总是给我 205.205.205.205 的 IP 和 52685 的 PORT 每次。我尝试了替代方案,包括 gethostbyname,它可以工作,但我需要实际的 IP 本身。我也试过用getpeername() 代替getsockname(),但结果是一样的。我在路由器后面,但到目前为止我在同一台机器上同时使用服务器和客户端。
提前感谢您的任何帮助!
delphi - 用于 getnameinfo 和 getaddrinfo 的 Delphi 包装器
我正在尝试为getnameinfo和getaddrinfo套接字 API 找到 Delphi 包装器。有人知道在哪里可以找到它们或创建它们并且不介意分享吗?
sockets - 如何使用 Winsock2 发送协议缓冲区对象?
我正在创建一个客户端服务器应用程序,使用一个简单的套接字在 C++ 和 Java 之间传输协议缓冲区对象。我在 Java 端创建了它作为客户端和接收器。我什至让 Java 发送到 C++,但我无法从 C++ 发送到 Java。不知道怎么写。首先我发送大小,然后读取原型对象。
我正在使用 Visual Studio C++ 2008。DataGram 和 Bookmartlet 是我的原型对象。
这是我的 C++ 发件人客户端
int loopt = 99;
这就是我试图从 Java 复制的内容。
任何帮助都会很棒。谢谢。
Java 客户端供参考:
c++ - 如何在 Winsock2 C++ 中停止/重新启动服务器套接字上的侦听和接受?
我在 Visual Studio Pro C++ 中创建了一个套接字 (Winsock2) 来侦听端口上的连接 (TCP)。它工作得很好,但我让它在自己的线程中运行,我希望能够关闭它,希望以后重新启动它。我可以毫无问题地终止线程,但是这样做并不会阻止套接字接受新客户端(也就是说,它会在我关闭线程之前一直在接受它)。我可以将新客户连接到它,但没有任何反应......它只是接受,就是这样。我想要的是阻止它监听和接受,然后能够告诉它稍后在同一个端口上重新启动。现在尝试重新启动它只会告诉我该端口已被占用。
这是监听线程函数:
TCPServer中的相关函数如下:
我已经尝试过 closesocket() 和 shutdown() 但这两个都抛出了错误。
谢谢大家的时间和帮助!
winsock2 - Windows 同时监听套接字和命令行输入
我的应用程序需要从命令行监听用户的键盘输入,并在一个循环中同时监听套接字上的数据。该应用程序当前在 linux 上运行,并且可以通过使用 select 并将 stdin 和网络套接字添加到给 select 调用的 fd_set 数组列表轻松实现上述目的。根据活动,应用程序可以处理用户输入或套接字上的数据。
现在我正在将此应用程序移植到 Windows,但我对 Windows 不是很熟悉。在Windows中如何实现以上功能?那是监听标准输入和套接字上的活动。任何指针表示赞赏。
c++ - 在winsock2中发送其他数据类型
winsock2 中的 send 函数只接受 char 指针。我如何也通过它发送整数或对象?
c++ - Winsock 2.0 将无法连接到公共 IP 地址
因此,我正在尝试构建一个简单的文本 IM 程序,以进入美妙的网络世界。我使用带有 C++ 的 Winsock 2.0 编写了 2 个程序:一个服务器和一个客户端。我已经通过创建套接字指定了一个 UDP 连接:
当我尝试使用我的本地 IP 地址连接到服务器时,一切正常。但是,当我使用我的互联网 IP 地址时,它不会连接。我相当肯定这不是防火墙问题,因为我在禁用防火墙和防病毒软件的情况下进行了多次测试。有什么我想念的吗?你能想到它可以通过本地地址而不是公共 IP 地址连接的任何其他原因吗?非常感谢你!
c++ - 在阻塞 udp 套接字上调用 sendto() 后 recvfrom() 返回 0
当我在 sendto() 调用后在阻塞 udp 套接字上调用 recvfrom() 时,它返回 0。
但是当我在它们之间调用 Sleep() 函数时,recvfrom() 返回接收到的 udp 数据包的正确长度。
当我在单步模式下使用调试器时,会出现相同的正确行为。
有人可以澄清 udp 套接字的这种行为吗?
sockets - VC++ Winsock2 错误 10049。尝试构建 IRC 机器人
我正在尝试将我的 IRC 机器人从 Python 移植到 C++,但我遇到了 Winsock2 的一些问题。我对 C/C++ 中的套接字相当陌生,并且大部分代码都是从各种教程拼凑而成的。我不断收到错误 10049 并且不知所措。任何帮助将不胜感激。谢谢!
port_ 设置为 6667,host_ 为“irc.rizon.net”