iocp

    7热度

    1回答

    我打开一个串口使用CreateFile()。我有一个测试用例(太复杂,无法重新分配),导致CreateFile()返回INVALID_HANDLE_VALUE和GetLastError()返回ERROR_SUCCESS。从外观上看,只有当一个线程在另一个端口关闭的同时打开端口时,才会出现此错误。打开端口的线程遍历这个问题。 我不知道这是否有所作为,但后来在代码中我使用CreateIoComplet

    0热度

    1回答

    如您所知,WSASend-completion-WSASend -...(repeat)确保按顺序发送数据。 但是,我听说WSASend-WSASend-WSASend-completion-completion-completion也保证按顺序发送数据,但是完成的顺序却没有。是对的吗? 请回复。提前致谢。 Hyunjik裴

    1热度

    4回答

    我有一个客户端,每8秒会发送一个数据包到服务器。如果服务器检测到数据包发送太快,它将断开客户端连接。在客户端我叫睡眠(8000);在发送数据包之前。在服务器端我使用GetTickCount();来计算数据包之间的时间。我预计这工作没有任何问题,但我一直断开连接。 我使用Wireshark来检查数据包的时间,这是我得到了什么: 包号时间 17 8.656064 72 16.957240 115 24

    2热度

    1回答

    我有一个使用TCP IP连接的C++编写的winsock IOCP服务器。我已经在本地测试了这个服务器,使用客户端模拟器的环回地址。我已经能够获得超过60,000客户没有汗水。我遇到的问题是当我在家中运行服务器并在朋友家中运行客户端模拟器时。一切正常,直到我们打了3700个连接,之后,每次connect()调用失败,客户端返回10060(这是winsock超时错误)。昨晚这个数字是3700,但是它

    3热度

    2回答

    我开发了一种与远程SIP端点交换RTP数据包的VoIP媒体服务器。它需要很好地扩展 - 尽管我最初担心我的C#实现不会接近它所替代的C++版本,但我使用了各种分析器来磨练实现,并且性能非常接近。 我通过创建可重用对象池来取消大多数对象分配,我使用ReceiveFromAsync和SendToAsync来发送/接收数据报,并且我正在使用生产者/消费者队列在系统周围传递RTP数据包。在配备2个2.4G

    0热度

    3回答

    在新的0.5.1分支中,有一个正式的Node.js Windows可执行文件。 Node.js的Linux版本使用已建立的库,如v8,libev,libeio。 由于libev和libeio是* NIX平台; Node.js的Windows端口已准备好供生产使用,还是仅用于开发?

    1热度

    1回答

    我需要启动客户端1000的在一个单一的过程连接,我需要解决的关键限制因素是驱动程序不支持ConnectEx,所以我不能有一个纯IOCP解。 我的第一个想法是处理连接的线程池,每个句柄可以使用普通连接/选择语义处理多达64个连接,并且一旦连接继续使用IOCP。 但这不能工作;一旦选择正在运行,我无法将另一个套接字添加到FD_SET。所以我将不得不将套接字设置为非阻塞,然后轮询它们。 最好的解决方案可

    4热度

    2回答

    我最近在windows上意识到了这个叫做IOCP的东西,并且我开始搜索关于它的更多信息,但是我找不到任何最新的东西(大部分例子都在codeproject上近5岁),而不是太多的指南或教程。任何人都可以以在线教程或示例项目(您编写,可以共享或其他开源项目)或甚至是关于它的书籍的形式推荐任何最新的资源,因为如果它和我打算使用的一样好它广泛,所以我会投资于它。 谢谢。

    0热度

    1回答

    我是IOCP的新手,并且在过去的几个星期里为此苦苦挣扎。 我粘贴了一些与IOCP相关的代码的核心部分。这可能无法完美执行,因为我剪下了一些部分以便于理解。 我在接收数据时很挣扎。对于工作线程中的wsarecv,wsarecv返回WSA_IO_PENDING错误代码,因此我调用WSAGetOverlappedResult来检查要完成的操作。 Twist来到这里,而是继续并在WSAGetOverlap

    1热度

    1回答

    我在Windows上使用I/O完成端口进行串行端口通信(我们可能会有大量的串行端口使用)。我完成了通常的操作,创建IOCP,启动I/O线程,并将我的CreateFile()句柄与IOCP(CreateFile()与FILE_FLAG_OVERLAPPED一起调用)关联起来。这一切工作正常。我已将COMMTIMEOUTS设置为0,除了ReadIntervalTimeout设置为MAXDWORD以完全