我有一台带有多个网卡的机器。我的过程非常消耗网络资源,因为它通过网络将许多文件复制到另一台机器上的共享位置(例如“\...”)。
我想为该进程设置专用 NIC,但是 File.Copy
\File.Move
的 C# IO API 屏蔽了所使用的 NIC。
如何在 C# 中甚至通过在 C# 项目下使用一些 C++ 调整来完成?
最佳答案
File.Move()
和 File.Copy()
实际上没有任何网络知识。它完全依赖操作系统来处理所有事情。因此,如果您将文件移动/复制到恰好是网络安装的路径......那么就这样吧。但是 Move()
和 Copy()
并不关心。
也就是说,您可以通过可以绑定(bind)到 NIC 的 Sockets
设置一个协议(protocol)。
假设您有一个位于“123.1.2.3”上的 NicA
和位于“156.2.3.4”上的 NicB
。然后,您可以创建一个套接字并将 Bind()
连接到与您关心的 NIC 相匹配的 IPAddress
。
关于c# - 如何强制 File.Move/File.Copy 使用特定的网络接口(interface)卡 (NIC) C#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21123607/