草庐IT

Networking

全部标签

c++ - 文件同步库

我正在研究允许我通过网络同步信息的C/C++库(Win/Linux)。我想运行我的程序的多个实例(在不同的PC上),并希望在本地同步文件,而不是通过网络在一个位置远程访问文件。如果所有实例要保持数据库的一致性,它还需要注意任何消息传递错误,因此需要一种确认机制。我偶然发现了几个解决方案,但我仍在努力找出我最好的解决方案。如有任何建议,我们将不胜感激,如有任何疑问,请随时提出。编辑我一直在研究enet和UDT有没有人有使用它们的经验? 最佳答案 我认为这样的东西的设计空间非常大,但它让我想起了前几天看到的一个很酷的库,VAST.这个想

c++ - select() 无限期挂起

我有一个在嵌入式Linux(旧内核,2.6.18)上运行的应用程序。我正在使用Live555。有时,当相机负载过重时,我的RTSP服务器(使用Live555构建)将无限期挂起——除了重置应用程序之外,似乎没有任何连接或哄骗让它突然退出。我将问题缩小到这段代码:staticintblockUntilReadable(UsageEnvironment&env,intsocket,structtimeval*timeout){intresult=-1;do{fd_setrd_set;FD_ZERO(&rd_set);if(socket当然,timeout是一个NULL指针,表示它应该阻塞,直

c++ - boost::asio - 知道什么时候必须关闭/关闭连接

我实现了一个协议(protocol)(socks),该协议(protocol)要求我的服务器将来自客户端的连接中继到目的地。我实现中继部分的方式是使用类似这样的东西:socket_.async_read_some(boost::asio::buffer(dataClient_,1024),boost::bind(&ProxySocksSession::HandleClientProxyRead,this,boost::asio::placeholders::error,boost::asio::placeholders::bytes_transferred));remoteSock_.

c++ - 如何扫描无线网络并显示所有连接的计算机和设备的列表

我需要构建一个非常类似于“WirelessNetworkWatcher”的工具(c++),它是一个小型实用程序,可以扫描您的无线网络并显示当前连接到您的网络的所有计算机和设备的列表。这是现有工具http://www.nirsoft.net/utils/wireless_network_watcher.html我需要知道用于构建此类功能的win32sdk函数是什么:扫描我连接的无线网络并显示连接到它的所有计算机和设备。 最佳答案 ok,好像是这样实现的:首先向网络中每个可能的IP地址发送一个ARP请求包(根据网络掩码和接口(inter

c++ - boost::asio 接受器避免内存泄漏

使用boost::asio我使用async_accept接受连接。这很好用,但有一个问题,我需要一个如何处理它的建议。使用典型的async_accept:Listener::Listener(intport):acceptor(io,ip::tcp::endpoint(ip::tcp::v4(),port)),socket(io){start_accept();}voidListener::start_accept(){Request*r=newRequest(io);acceptor.async_accept(r->socket(),boost::bind(&Listener::ha

c++ - 如何在 C 中实现 RFC 3393(Ipdv 数据包延迟变化)?

我正在构建一个以太网应用程序,我将从一侧发送数据包并在另一侧接收数据包。我想像RFC3393中那样计算接收方数据包的延迟。所以我必须在发送方的数据包中放置一个时间戳,然后在接收方收到数据包后立即获取时间戳。减去这些值我将得到时间戳的差异,然后用后续差异减去这个值我将得到单向ipdv延迟。两个时钟不同步。所以非常感谢任何帮助。谢谢。 最佳答案 RFC3393用于测量数据包延迟的方差,而不是用于测量延迟本身。举个例子:您正在编写一个视频流应用程序。您希望缓冲尽可能少的视频数据(以便视频尽快开始播放)。假设数据总是总是总是从机器A到机器B

c++ - 2D 物理游戏的多人/网络选项

总结:我完成了50%的2D横向卷轴游戏,使用Box2D作为物理引擎,最终版本应该支持多人游戏。然而,目前的代码只是一个单人游戏。我现在应该做什么?更重要的是,我应该如何实现多人游戏并将其与单人游戏结合起来?将单人模式与多人模式分开编写代码是不是一个坏主意(就像Notch在Minecraft中所做的那样)?单人游戏的性能应该尽可能好(使用环回服务器模拟物理来实现单人游戏模式会是一个问题)完整背景/问题:我正在使用C++开发一个相对较大的2D游戏项目,物理是其中的核心元素。(我为此使用Box2D)完成的游戏应该有完整的多人游戏支持,但是我犯了一个错误,我没有正确规划网络部分,直到现在基本上

c++ - 无法使用 C++ access() 函数访问网络附加存储 (NAS) 中的文件?

例如,我在10.20.30.11中有一个IsilonNAS,我按如下方式安装它:mount10.20.30.11:/folder/content我可以使用ls命令在文件夹或/content中查找文件。它的模数是777。bash-3.00#ls-l/content/a/b/1.txttotal344131rwxrwxrwx1100565533140750Feb2800:581.txt但我无法通过access()函数访问它。#include#include#include#includeusingnamespacestd;#includeintmain(intargc,constchar*

c++ - 我应该如何干净利落地跳出 recv 循环?

我在循环中使用recv函数来接收网络数据,但假设我想在循环中停止接收数据。我可以打破循环,但这似乎不是停止接收数据的非常干净的方法。那么有没有什么办法可以完全停止接收数据,或者只是打破循环就可以了?它是HTTPGET/POST请求。这是我正在使用的简化版:do{nDataLen=recv(mySocket,data,BUFFSIZE,0);if(nDataLen>0){/*ProcessData*///I'dliketobreakoutoftheloop//ifsomethingisfoundwhenprocessingthedata//But,Iwanttodothiscleanly

C++ - 构建带有 header 的数据包并通过 UDP 套接字发送它

我正在尝试构建一个将通过UDP发送的数据包。但是我在接收方没有得到正确的数据。我想在数据包中包含一个IPheader、UDPheader和需要发送的数据。在这种情况下,我只想发送“Hello”一词以及随机header信息。char*data="Hello";char*packet=(char*)malloc(sizeof(structiphdr)+sizeof(structudphdr)+strlen(data));structiphdr*ip=(structiphdr*)packet;structudphdr*udp=(structudphdr*)(packet+sizeof(str