问题标签 [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.

0 投票
2 回答
971 浏览

c - 是否有可能不会收到 WSASend 调用的完成?

就像标题所说的那样,在与 I/O 完成端口关联的套接字上成功 WSASend调用是否有可能因为线程结束以外的任何原因不发布完成?

我有一个奇怪的情况,看起来没有为 a 发布完成WSASend,这导致套接字泄漏;应用程序认为套接字的发送仍处于挂起状态并拒绝释放它。

发送代码如下:

0 投票
1 回答
863 浏览

tcp - Winsock TCP 数据包已发送但未到达主机

当服务器向客户端发送 4 个或更多 - 25 字节数据包时,只有前 2 个由客户端处理。我在客户端上使用事件选择,并在服务器上发送。没有错误,但只显示前 2 个数据包。提前致谢。

0 投票
1 回答
1324 浏览

c++ - 使用 TCP 连接从 HTTP 服务器获取数据,很少有垃圾数据

我正在使用 Winsocks 2.2 和 Visual Studio 2010 编写 C++ 网络游戏,并决定使用我的网络服务器存储游戏的活动服务器列表是一个好主意。当服务器启动时,它会在我的网络服务器上注册自己,退出注销;当有人访问服务器列表时,服务器本身将尝试清理列表(这种行为我仍在努力设计为不涉及服务器上的太多工作;但我认为当游戏服务器尝试添加自身时,我的php 文件将使用 fsockopen 来检测它是否可以从外部网络实际访问服务器,如果不能,则不会添加服务器,直到它可以正确设置端口转发或以某种方式解决问题)。

好的,所以经过一些研究,我想出了如何使用 TCP 连接从服务器获取一些东西,从格式化 HTTP 服务器的专用消息。这是我所拥有的:

我期待返回格式正确的数据,但我并没有完全得到。这是我得到的:

这是带有所有标头信息的一些垃圾的另一个输出:

这就是我的输出应该看起来的样子,我偶尔会得到这个,但不是所有时候:

我认为这并不重要,但这是我在 Web 服务器上的 PHP 代码:

这是一些涉及接收字符串的代码(是的,目前它有点简单,我意识到我可以使用 cstring 函数来查找两个新行,所以我不必进行字符串复制,我'我只是想坚持使用字符串来让事情变得更容易):

那么,你们中有人知道这些垃圾数据来自哪里吗?

编辑:查看正确的标头信息后,带有垃圾的那个具有“Transfer-Encoding:chunked”并且没有“content-length”。...到底是怎么回事?

0 投票
0 回答
615 浏览

windows - 与 DLL 通信

我有一个 LSP(分层服务提供程序)DLL,但是一旦它安装在目录中,我如何在我的程序中与它通信?我的 LSP 主要基于 Microsoft 的示例 LSP。

我正在阅读 komodia 关于 LSP DLL 的文章,他们指出您需要通过邮件槽、命名管道、COM 等进行 IPC(实习进程通信)。

我无法收集有关此的更多信息。与我的 LSP DLL 在目录上运行时进行通信的最佳、最有效的方式是什么?

谢谢。

0 投票
3 回答
2883 浏览

c++ - 在 C++ 中使用套接字进行文件传输

我希望使用 C++ 语言使用套接字从客户端到服务器进行文件传输...

我的代码只将字符串传输到客户端和服务器。

如何传输文件?任何帮助或参考资料也会有所帮助。

0 投票
2 回答
1141 浏览

c - C Sockets:套接字关闭时避免垃圾

我正在使用非阻塞套接字(fd_setsselect函数)对服务器和客户端进行编程,一旦服务器关闭或关闭客户端套接字,客户端就会开始接收大量垃圾,直到崩溃。我在工作时被警告过当连接终止时,带有select()套接字的套接字将变得可读,但我怎么知道

如果原因只是常规数据或连接已结束?

十分感谢!

0 投票
1 回答
367 浏览

c++ - 使用 Winsocket 2 和 C++ 跨网络聊天客户端服务器?

我正在开发一个由多个客户端和一个服务器组成的聊天系统。

客户端应该通过发送广播消息来发现服务器,服务器将响应该消息,将其 IP 和端口发送回客户端。

问题是当我使用 USB 记忆棒(USB 调制解调器)连接到互联网时,客户端发送广播消息,但服务器无法将信息发送回客户端。

有没有办法将聊天程序限制在指定的网络接口上?

有人有其他建议吗?

0 投票
1 回答
4712 浏览

sockets - WinSock2 send 在 6 次循环迭代后返回 SOCKET_ERROR ......为什么?

6 次迭代后,发送返回 -1 aka SOCKET_ERROR。我尝试添加一个 sleep 函数,这样它会在再次循环之前等待一秒钟,但这使它只会迭代 2 次。是什么导致了这个错误?

0 投票
2 回答
3415 浏览

java - Sending data from Java to C using socket programming

i am making a program that sends a string from a Java client to a C server using WinSock2. I am using DataOutputStream to send the data through the socket.

The C server, acknowledges the bytes received, but when i try accessing the data, nothing is displayed.

SERVER

CLIENT

output

0 投票
1 回答
1056 浏览

delphi - StrPLCopy 上的 PChar 无效指针操作

我使用 WinSock 2 编写了一些 TCP 服务器,并且我有捕获 FD_READ 事件的程序。在此过程中,我需要解析收到的消息。代码在这里:

在调试时,我有一个“访问冲突......地址写入......”就行了

请帮助我解决这个问题并了解它发生的原因。蒂亚!