草庐IT

c++ - 通过套接字发送文件太慢

我是新来的(我的第一个问题),有点新手,我从来没有上过编程课,所以...对于一些困惑的代码感到抱歉。我制作了这个通过套接字发送(客户端)和接收(服务器)文件的程序,客户端每次循环读取和发送1024字节的文件,服务器接收它并将其写入文件。它工作正常,但问题是它非常慢。将文件从我的计算机发送到我的计算机所花费的时间与将文件发送到另一台计算机所花费的时间一样多,但仍然比预期花费更多的时间,例如,当我尝试通过Skype传输时,速度要快得多。有什么线索吗?(下面是我正在使用的代码)。服务器://servrecvfile.cpp:Definestheentrypointfortheconsolea

c# - 以编程方式阻止 C#/Windows 中进程与特定主机之间的所有连接

我正在尝试追踪我们使用的第三方连接器库中的一些故障转移问题。目前我正在启动和停止远程服务以模拟故障,这可行但非常不切实际。有没有办法以编程方式阻止进程和给定主机之间的所有连接?编辑:以及阻止我想删除任何现有的连接 最佳答案 我认为您可以与Windows防火墙交互以实现您想要的(以编程方式阻止进程与给定主机之间的所有连接),请查看WindowsFirewallInterfaces. 关于c#-以编程方式阻止C#/Windows中进程与特定主机之间的所有连接,我们在StackOverflow

windows - Windows Embedded Compact 7(以前称为 CE)上的 HTTP 1.0 通信速度较慢

在WindowsEmbeddedCompact7(以前称为CE)上,我响应HTTP1.0请求的性能比在旧的WindowsCE版本(4.0和5.0)上慢得多。在WindowsCE5.0上,我有大约10毫秒的时间来响应请求,在EmbeddedCompact7上大约有170毫秒。一旦我切换到“KeepAlive”和HTTP1.1,它就会再次变快。但是我想了解是否引入了任何可以更改的新套接字限制或选项选项。 最佳答案 我建议您在注册表中将TCPSendQueueDelay设置为0。(https://technet.microsoft.com

windows - 连接(): WSAECONNREFUSED on connect

我正在尝试使用Connectapi连接到设备。它给我WSAECONNREFUSED错误。当我连接了两个设备并尝试连接到其中一个设备时,就会发生这种情况。如果我只连接一台设备,那么connectino会正常运行。你们谁能告诉我这里的问题。这是我的代码:sockaddr_inmy_addr;my_addr.sin_family=(USHORT)AF_INET;my_addr.sin_port=htons((USHORT)host_port);memset(&(my_addr.sin_zero),0,(size_t)8);my_addr.sin_addr.s_addr=inet_addr(p

c++ - 使用异步 I/O 和 IOCP 实现回声服务器的最佳方法是什么?

众所周知,回显服务器是从套接字读取数据并将该数据写入另一个套接字的服务器。由于WindowsI/OCompletion端口为您提供了不同的处理方式,我想知道实现回显服务器的最佳方式(最有效)是什么。我肯定会找到一个测试过我将在这里描述的方法的人,并且可以贡献他/她的贡献。我的类(class)是Stream它抽象了一个套接字、命名管道或其他任何东西,以及IoRequest它抽象了OVERLAPPED结构和内存缓冲区来做I/O(当然,适合读和写)。这样当我分配一个IoRequest我只是为数据+OVERLAPPED的内存缓冲区分配内存一枪搞定,所以我调用malloc()只有一次。除此之外,

windows - Winsock Kernel的 "WskSendTo"函数在Win7 SP1上导致 "DRIVER_IRQL_NOT_LESS_OR_EQUAL"BSOD

我正在开发一个名为Npcap的Windows数据包捕获软件。并且它需要发送基于Windows内核的环回原始IP套接字。但是WskSocket->Dispatch->WskSendTo总是导致DRIVER_IRQL_NOT_LESS_OR_EQUALWin7SP1上的蓝屏。奇怪的是,我的代码不会在Win8、Win10等其他系统上触发此BSoD。它只发生在Win7。所以我什至怀疑这是Windows本身的错误还是只是我的错误?谢谢!重现步骤为:安装Npcap0.07r17使用默认选项安装Nmap7.20Beta5(不要安装随附的Npcap)在CMD中,运行nmap-v-O-6localhos

Python 原始套接字到以太网接口(interface) (Windows)

我正在尝试创建一个DHCP服务器,第一步是通过我的以太网端口发送数据包。我正在尝试将数据包发送到我的以太网接口(interface)并弹出错误消息。代码如下。importsocketdefsendeth(src,dst,eth_type,payload,interface="eth0"):"""SendrawEthernetpacketoninterface."""assert(len(src)==len(dst)==6)#48-bitethernetaddressesassert(len(eth_type)==2)#16-bitethernettype#s=socket.socket

Windows 中的 Python 套接字问题 : socket. MSG_DONTWAIT

我有一个Python应用程序,它使用带有socket.MSG_DONTWAIT标志的UDPsendto/recvfrom。在Linux和MacOSX中,这工作得很好。但是,此标志在Windows环境中不存在。Windows中的等效标志是什么?或者,如何在Windows中执行非阻塞sendto/recvfrom? 最佳答案 socket.setblocking(False)在任何平台上将套接字切换到非阻塞模式。在创建套接字时调用一次,您可以删除所有MSG_DONTWAIT标志。如果您需要在阻塞和非阻塞I/O之间切换(通常情况并非如此)

c++ - winsock:使用 localhost (127.0.0.1) 时连接失败并出现错误 10049

我写了一个类封装了一些winsock函数来模拟一个简单的TCP套接字来满足我的需要...当我尝试运行一个简单的“连接并发送数据到服务器”测试时,“客户端”调用连接失败,错误代码为10049(WSAEADDRNOTAVAIL)connectfunctiononMSDN我正在做的是(下面的代码):服务器:创建服务器套接字->将其绑定(bind)到端口12345将套接字置于监听模式调用接受客户端创建一个socket->绑定(bind)到一个随机端口调用连接:连接到本地主机,端口12345=>如上所述,连接调用失败并出现错误10049这是包括“服务器”在内的主要功能:HANDLEhThread

windows - 使用临时端口的 Boost::asio UDP 广播

我在boost::asio下遇到了udp广播事务的问题,与以下代码片段有关。由于我尝试在这种情况下进行广播,因此deviceIP="255.255.255.255"。devicePort是我的设备指定的管理端口。我想使用一个临时本地端口,所以我更愿意在连接后尽可能不必使用socket.bind(),并且代码通过设置localPort=0支持单播。boost::asio::ip::address_v4targetIP=boost::asio::ip::address_v4::from_string(deviceIP);m_targetEndPoint=boost::asio::ip::u