草庐IT

高效网络

全部标签

c# - 用于解析二进制消息包的字节流的高效 C# 字节队列

我正在尝试替换我通常实现的循环缓冲区+。队列的功能是缓冲传入的字节(例如,来自串行端口或其他一些数据流),同时解析器检查队列中的字节并检测和提取消息包。标准:可以增长(即不是固定大小)>=1bytescanbeenqueuedatatime>=1bytescanbedequeuedatatime高效我很想用System.Collections.Generic.Queue...但我不确定这是否是最有效的类型。有什么建议吗?有没有更聪明的方法来做我想做的事情?(例如,有趣的建议here)感谢您的建议和意见。普兰博。 最佳答案 嗯,Que

c# - 禁用网络适配器时获取MAC地址?

在.net中禁用网络适配器时,有什么方法可以检索MAC地址吗?提前致谢 最佳答案 无法获取禁用适配器的MAC地址:这是因为获取MAC地址需要查询驱动程序,而禁用适配器的驱动程序未加载(source)。但是,您可以获取当前未连接的适配器的MAC地址。WMI路由在这里不好用,因为对于未连接的适配器,它将MAC地址显示为空。好消息是NetworkInterface.GetAllNetworkInterfaces()路线工作得很好://usingSystem.Net.NetworkInformation;varnics=NetworkInt

c# - C# 中多线程网络服务器的模式

在设计多线程服务器时,是否有我可以遵循的模板/模式/指南?通过我的谷歌搜索,我在网上找不到任何非常有用的东西。我的程序将启动一个线程以使用TcpListener监听连接。每个客户端连接都将由它自己的IClientHandler线程处理。服务器会将clientHandler.HandleClient包装在委托(delegate)中,调用BeginInvoke,然后不再关心它。我还需要能够干净地关闭监听线程,这是我在网上找不到的很多示例。我假设锁定/AutoResetEvents/线程魔法与异步BeginAceptTcpClient和EndAcceptTcpClient的一些组合会让我到达

c# - 在 .NET 中指定 UDP 多播应该转到的网络接口(interface)

在一台同时具有事件无线网卡和LAN端口并通过交叉电缆连接到另一台运行相同应用程序的计算机的计算机上,我们需要通过LAN线向另一台计算机发送UDP多播。使用C#套接字,Windows似乎每次都尝试通过WLAN适配器路由消息。有没有办法指定在哪个网络接口(interface)上发送UDP多播? 最佳答案 正如Nikolai回答的附录:KB318911的问题是一个肮脏的把戏,用户必须提供必要的适配器索引。在寻找如何检索此适配器索引时,我想出了这样的方法:NetworkInterface[]nics=NetworkInterface.Get

c# - 如何配置 Resharper 5.1 的 Test Runner 以接受网络共享?

我有一个位于网络共享上的项目。测试运行器尝试运行测试但失败并显示一条错误消息。单元测试运行程序无法加载程序集:JetBrains.ReSahrper.TaskRunnerFramework.TaskException:无法加载文件或组合'File://\myshare\VisualStudio2010\Projects\MyPorject\TestMyProject\bin\Release\TestMyProject.dll'或其依赖项之一。测试使用MSTest运行。我在VisualStudio2010Pro的devenv.exe.config中启用了loadFromRemoteSou

c# - 失败 - 下载由 EPPlus.dll 制作的 excel 文件时出现网络错误

我尝试从asp.netc#web表单应用程序下载由EPPlus.dll生成的excel文件。但我失败了-网络错误。需要注意的是,上述错误只是在chrome中出现,在其他浏览器中可以正常完成。顺便说一句,这个错误不会发生在我的本地主机上,它只会发生在主服务器上。如果有人能解释这个问题的解决方案,那将非常有帮助。http://www.irandnn.ir/blog/PostId/29/epplus 最佳答案 我在使用Response.Clear()和Response.Close()时遇到了同样的问题,不得不避免使用它们来查看我的代码,如

c# - "The request failed with an empty response"调用网络服务时

当从aspx页面调用托管在服务器中的网络服务时,我收到类似“请求失败,响应为空”的错误。我页面中的代码try{HttpWebRequestrequest1=(HttpWebRequest)WebRequest.Create("https://login.erp.com/rodeprovisioning/provisioning.asmx");request1.Accept="text/xml";request1.Method="POST";WebProxyproxyObject=newSystem.Net.WebProxy("http://10.0.0.1:8080/",true);r

c# - 如何确定字符串是本地文件夹字符串还是网络字符串?

除了正则表达式,如何在c#中判断一个字符串是本地文件夹字符串还是网络字符串?例如:我有一个字符串,它可以是"c:\a"或"\\foldera\folderb" 最佳答案 我认为这个问题的完整答案是包括DriveInfo.DriveType属性的用法。publicstaticboolIsNetworkPath(stringpath){if(!path.StartsWith(@"/")&&!path.StartsWith(@"\")){stringrootPath=System.IO.Path.GetPathRoot(path);//g

c# - 数据契约(Contract)序列化器可以用于任何第三方网络服务吗

我有一个大型的第三方网络服务;reference.cs是33MB。使用VisualStudio2017,代理使用XMLSerializer,这会在创建channel时造成5秒的延迟。我在Microsoft开了一个案例,他们部分地向我展示了如何修改reference.cs以使用Datacontract序列化程序。在同一台机器上,channel创建时间为20毫秒,这完全符合我的需求。不幸的是,消息因细微差别而失败,Microsoft支持人员无法提供帮助。有已知的限制吗?我应该寻找任何模式来确定它根本不起作用,我应该开始使用HTTP请求重写所有内容吗?导致整体延迟的实际方法:publicXm

c# - 访问网络驱动器上的文件

背景:我有一个应用程序必须读取网络驱动器(Z:)上的文件这在我的办公室域中非常有效,但它在现场(在不同的域中)不起作用。据我所知,域用户和网络驱动器的设置方式相同,但我无权访问客户域中的用户等。当我无法访问网络驱动器时,我想我需要一个用户token。这就是我模拟用户的方式:[DllImport("advapi32.dll",SetLastError=true,CharSet=CharSet.Unicode)]publicstaticexternboolLogonUser(StringlpszUsername,StringlpszDomain,StringlpszPassword,int