问题标签 [winsockets]
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.
c++ - UDP recvfrom 线程占用过多 CPU 资源
我正在编写一个 Windows 7 可视化 C++ 服务器应用程序,它应该接收 3.6 MB/s 的 UDP 数据报。我有一个主线程,recvfrom() 接收数据。该套接字是一个非阻塞套接字,具有 64kB 的接收缓冲区。如果套接字上没有接收到数据,则线程执行 sleep(1)。
我的问题是线程占用了我双核处理器的近 50%,我不知道如何减少它。Wireshark 只使用了 20%,所以我的主要目标是达到类似的百分比。
你有什么想法?
c - 在winsock中接收奇怪的字符/符号
我正在了解 Winsock,并且在发送和接收简单字符串时遇到了一个奇怪的问题。这是我的代码(纯 C):
客户:
服务器:
问题是服务器打印了我的字符串+一些奇怪的符号(见图)。
我使用流套接字。这个例子很简单,所以我不知道有什么问题。如果我随机修改字符串或服务器的缓冲区大小,或两者兼而有之,问题就会消失(服务器打印 OK 字符串)。如果在 send() 调用中我使用 sizeof() 而不是 strlen(),问题就解决了。我有点迷失在这里。如果我遗漏了什么,请多多关照,这是我在这里的第一篇文章。我可以提供整个代码(它基本上是 winsock 启动和套接字定义)。
sockets - FD_SIZE 和应用程序可以在 Windows 中使用的最大套接字数
我在 Windows 上使用流媒体服务器,它达到了 32 个流限制。根据 msdn http://support.microsoft.com/kb/111855上的以下文章,我们发现原因是 FD_SET 大小,winsock 中默认为 64。
将 FD_SET 大小增加到 128 后,我们可以流式传输更多频道。
问题是,1. 增加 FD_SET 大小是否安全?2. 增加 FD_SET 的大小能保证套接字的可用性吗?3. FD_SIZE 可以动态设置还是只在编译时设置?我们能以编程方式找到最大限制吗?
谢谢。米...
c# - 对象引用未设置为对象按钮按下事件的实例
我收到一条错误消息,我不知道如何修复它。这是我的原始代码:
错误消息是(按钮按下事件)
你调用的对象是空的。
为什么我会收到此错误消息,我该如何解决?
mfc - Winsock 发送 recv 缓冲区大小
我正在编写一个 MFC 应用程序来实现客户端/服务器方案并为此使用 Win 套接字。我可以发送/接收一条小消息,例如“你好”。另外,我尝试使用大小为 1000 的缓冲区。但是,当我进一步增加其大小时,它只是挂起。甚至不会抛出任何错误。
关于问题可能是什么的任何想法?我可以在winsock中发送/接收的缓冲区的最大大小是否有任何限制?我是这方面的新手,以前从未使用过winsock。
c++ - 如何使用 Windows 套接字模拟我用 C++ 编写的客户端服务器应用程序?
我最近被要求编写一个客户端服务器应用程序,所以我使用 c++ 和 windows 套接字来完成这个工作,我在 LAN 上的两台电脑上进行了尝试,它运行良好。我的教授希望看到这个工作真正有效,但我认为可能会有一种模拟该应用程序并显示它无需连接两台电脑等即可工作的方法......我该怎么做?
c++ - 通过MFC doc/view架构创建winsock客户端
我有一个游戏井字游戏,它是在 MFC 中创建的,具有文档/视图架构,我有服务器(标准控制台应用程序)和 winsockets。我应该在客户端初始化套接字以将其与服务器连接?(它必须完全是winsock,没有Csocket)。我知道如何创建 winsocket,但我不知道我必须在 doc/view 架构中在哪里创建它们。(我唯一知道的是在“InitInstance”中初始化“WSADATA wsaData”)
c++ - 使用 winsock 限制每个 ip 的连接数
你如何使用winsock限制每个IP的连接?
假设我想将它们限制为每个 IP 20 个连接,然后一旦达到限制就不要接受连接。
我想不出这样做的逻辑。
在接受连接之前,我曾考虑过callbacks
在WSAAccept()
每个 ip 上使用并登录到数据库,并在数据库中为每个建立的连接列出它。
但是有没有更有效的方法来做到这一点?
c++ - 为什么我的 c++ Winsock 服务器无法从客户端接收数据?
我试图运行一个简单的客户端和服务器程序。Therin,我试图从客户端向服务器发送一条消息,并让服务器回显该消息。问题是每次我都会收到 10057 错误。我不知道为什么。
这是服务器代码
这是客户端代码:
任何人都可以看到代码有什么问题吗?
c++ - 有没有办法强制窗口在套接字调用上产生短读/写?
这是出于调试目的。
为了测试代码的短发送/短接收处理部分是否正常工作......
有没有办法强制 Windows 产生短发送/rcvs,即使是从套接字读取/写入的少量字节?
我更喜欢按进程执行此操作,但如果不能按进程执行此操作,我也准备测试 Firefox/Outlook 代码如何处理此问题。:)
Ofc 我知道我可以手动添加巨大的 msg 来强制执行此操作,但我正在处理具有多层内容的巨大旧代码库,因此即使添加一个简单的、充满随机字节的巨大 msg 也是不平凡的。:)