通过网络连接将数据从c#发送到非托管c++
Sending data over a network connection from c# to unmanaged c++
我有一个c# dll,需要通过网络将一个相当复杂的对象发送给一个非托管的c++进程。我知道有很多方法可以做到这一点,但我想知道是否有人能推荐最适合的方法。注意事项:
- 如果c++进程没有接收到数据,c#进程被告知是至关重要的。我希望有尽可能可靠的传输数据的方法。
- 不幸的是,我也承受着尽快交付数据包的压力,因此最终需要在可靠性和性能之间进行一些权衡。 代表数据的c#对象可能会改变。这是我们无法控制的第三方对象。理想情况下,我需要在c++进程中使用一些动态机制来处理这些变化,使影响尽可能小。最坏的情况是,每次对象数据发生变化时,我们都必须重新编译代码。
- 我宁愿避免使用第三方库。
就我对你的问题的理解,你所说的"网络"可能是指LAN或WLAN。所以,我建议双方都使用UDP/IP。对于"如果数据没有被c++进程接收到,c#进程被告知是至关重要的",你需要手动处理它(例如,通过每接收一个数据包或一堆数据包的确认数据包)。
在'套接字编程'下有很多UDP/IP在互联网上可用的样本:比如这里:http://www.abc.se/~m6695/udp.html
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- 通过网络、跨平台传递std::变体是否安全
- 如何在MNIST上提高网络运行的准确性
- Active Directory:从网络服务帐户下运行的Windows服务调用ADsOpenObject时失败
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- 使用OpenCV和覆盆子上的多个网络摄像头拍摄延时摄影,出现多个V4L错误
- 神经网络不学习.卡在50%
- 如何绑定 C++ gRPC 客户端的网络接口
- 在本地网络中通过OpenCV(C++)实时流式传输图像
- 在不知道套接字的情况下关闭网络连接
- 是否有 Windows 用户空间函数来枚举连接的网络共享?
- 在没有管理员权限的情况下连接到同一网络中的命名管道
- 无法为 X.radio 创建中等可视化,因为找不到网络节点可视化 - Omnet++
- 将传入的网络"char*"数据转换为"uint8_t"并返回的安全方法是什么?
- 像 POCO 这样的C++图书馆如何访问网络?
- 使用源读取器从网络摄像头源获取 H264 样本
- 如何将网络模块添加到 QT pro 文件中?
- q网络回复 无状态码或错误,但失败
- 无法使用 OpenCv 3.4.5 从具有C++ dll 的网络摄像机 (rtsp) 中抓取帧