iocp

    0热度

    1回答

    我开发了将消息发送到服务器的IOCP客户端应用程序。现在我想在其中添加SSL支持,以便使用OpenSSL连接启用了SSL的服务器应用程序。 我使用 /* Load encryption & hashing algorithms for the SSL program */ SSL_library_init(); /* Load the error strings for SSL & CRYP

    1热度

    1回答

    假设我有两个程序,一个客户端和一个服务器,并且我在同一台计算机上运行客户端和服务器(所以速度非常快),并且说客户端套接字的接收缓冲区是空的,并且服务器不会向客户端发送任何数据,除非客户端告诉服务器这样做。 现在,在客户端,我打电话WSASend()然后之后我打电话WSARecv(): WSASend(...); // tell the server to send me some data WS

    0热度

    2回答

    当调用WSASend()时,我必须将它传递给WSAOVERLAPPED实例,并且我不能重复使用此WSAOVERLAPPED实例,直到前一个WSASend()操作已完成(即完成数据包已放入完成端口时)。 有没有一种方法可以知道WSASend()的操作是否已经完成而没有调用GetQueuedCompletionStatus()?

    1热度

    1回答

    我正在为消息传递库编写IO核心,并考虑libuv与使用Linux上的原始epoll和Windows上的IOCP(以及最终其他人,solaris事件等)我喜欢可移植性libuv,我在看性能。 epoll和IOCP允许多个线程直接等待IO事件,内核执行调度。尽管我没有任何数字,但比用户空间调度更有效。 libuv(基于我的阅读)有一个线程-USafe事件循环,但我可以实现一个领导者跟随者线程池。我的意

    0热度

    1回答

    我正在实现一个Win32控制台文本编辑器,它有一个内部消息队列,用于传递有关哪些区域需要重新绘制,消息来自插件等信息。我更喜欢它默认为单线程(如果没有任何事情发生这需要额外的线程)。我考虑2种消息队列实施策略: 使用通用队列和Win32事件,所以我可以用WaitForMultipleObjectsEx同时等待内部消息和用户输入,同时传递控制台输入句柄和事件句柄。在这种情况下,文本编辑器可以完全在一

    -1热度

    1回答

    我正在玩SocketAsyncEventArgs和IO完成端口。 我一直在寻找,但我似乎无法找到.NET如何处理竞争条件。 需要澄清这个堆栈溢出问题: https://stackoverflow.com/a/28690948/855421 作为一个侧面说明,不要忘记,你的要求可能已同步完成。也许你正在一个while循环中读取TCP数据流,一次读取512个字节。 如果套接字缓冲区中有足够的数据,则可

    0热度

    2回答

    编写iocp控制台服务器并不容易,套接字池和线程池运行良好,但经过一段时间后,服务器无法连接agagin,没有发生任何错误,为什么?我使用procexp_16.05.1446001339.exe来检查进程属性,我发现很多close_wait状态,经过一段时间agagin,close_wait状态消失,但服务器仍然无法连接?为什么?以及如何解决它? #include "stdafx.

    0热度

    1回答

    我目前正在使用C++编写服务器应用程序。我的主要启示有这些例子: Windows SDK IOCP Excample The I/O Completion Port IPv4/IPv6 Server Program Example 我的应用程序是强烈类似于这些(socketobj,packageobj,...)。 一般来说,我的应用程序运行没有问题。仍然导致我麻烦的唯一的事情是半开放的连接。 我的

    0热度

    1回答

    我看到一些应用程序使用多个套接字。例如聊天,他们使用独特的套接字和文件上传他们使用其他套接字等。为什么这个过程是需要时,可以在一个套接字完成?是因为他们处理连接的方式,并在每次接受呼叫后打开一个新的连接插槽? 我的工作IOCP聊天应用程序,我得到了通过该方案感到困惑。如果我要处理的连接,我还能保持1个插槽为每个客户端,但如果客户端发送的文件有没有办法让我的服务器来分配内存文件上传,因为我处理新接受

    4热度

    1回答

    我有以下简化的IO完成端口服务器C++代码: int main(..) { startCompletionPortThreadProc(); // Await client connection sockaddr_in clientAddress; int clientAddressSize = sizeof(clientAddress);