草庐IT

protocol-buffers-3

全部标签

c# - 在 Protocol Buffers 中表示 System.Decimal 的最佳方式是什么?

从this开始问题,在ProtocolBuffer中表示System.Decimal对象的最佳方式是什么? 最佳答案 好吧,protobuf-net会简单地为您处理这个;它运行类型的属性,并完全支持decimal。由于在proto中没有直接表达decimal的方式,它不会(当前)从“.proto”文件生成decimal属性,但它会是一个识别一些常见类型(“BCL.Decimal”或类似类型)并将其解释为十进制的不错的调整。至于代表它-我有一个discussiondocument在protobuf-netwiki区域中对此(我怀疑现在

c# - 如何在 C# 中使用 Tor 控制协议(protocol)?

我正在尝试以编程方式向Tor控制端口发送命令,以使其刷新链。我无法在C#中找到任何示例,而且我的解决方案不起作用。请求超时。我的服务正在运行,我可以看到它在控制端口上监听。publicstringRefresh(){TcpClientclient=newTcpClient("localhost",9051);stringresponse=string.Empty;stringauthenticate=MakeTcpRequest("AUTHENTICATE\r\n",client);if(authenticate.Equals("250")){response=MakeTcpReque

c# - Protocol Buffer 从原始消息中检测类型

是否可以检测原始ProtocolBuffer消息的类型(在byte[]中)我遇到这样一种情况,端点可以接收不同的消息,我需要能够在反序列化之前检测到类型。我正在使用protobuf-net 最佳答案 您无法单独检测类型,因为protobuf规范不会为此向流添加任何数据;但是,根据上下文,有多种方法可以简化此过程:联合类型(如Jon所述)涵盖了一系列场景继承(特定于protobuf-net)可以是通用的——您可以有一个基本消息类型,以及任意数量的具体消息类型可以使用前缀来表示传入类型最后一种方法在原始TCP流的情况下实际上非常有值(v

c# - 专用于字节流的FIFO/Queue buffer

是否有任何.NET数据结构/类组合允许将字节数据附加到缓冲区的末尾,但所有查看和读取都是从头开始的,从而在我读取时缩短了缓冲区?MemoryStream类似乎完成了其中的一部分,但我需要为读取和写入维护不同的位置,并且它不会在读取数据后自动丢弃数据。已在对thisquestion的回复中发布了答案这基本上是我正在尝试做的,但我更喜欢我可以在同一进程的不同组件中进行异步I/O的操作,就像普通管道甚至网络流一样(我需要过滤/处理数据优先)。 最佳答案 我将发布一次我为工作项目编写的一些逻辑的精简副本。这个版本的优点是它与缓冲数据的链接列

c# - 更改每个请求的安全协议(protocol) (HttpClient)

我有一个WebAPI,它必须与一些不同的服务进行通信。目前,我将WebAPI设置为使用以下安全协议(protocol):ServicePointManager.SecurityProtocol=SecurityProtocolType.Tls12;当API通过HttpClient(比如Twitter)调用另一个服务时,它将使用该协议(protocol)。然而与此同时,另一个请求可能会进入以访问来自云的某些内容,无论出于何种原因,目前需要TLS(而不是TLS1.2)。对云端的请求,在发出前,再次设置安全协议(protocol):ServicePointManager.SecurityPr

c# - Icecast 2 : protocol description, 使用 C# 流式传输到它

我需要编写一个Icecast2客户端,它能够将音频从计算机(mp3文件、声卡录音等)流式传输到服务器。我决定用C#编写这样一个客户端。两个问题:1)了解我可能/应该/必须用来在C#中无缝处理流式音频(当然是通过网络流式传输)的通用指南(最佳实践,也许是技巧)将非常有用。一些关于通过TCP/IP流式传输的一般技术文档,特别是ICY,关于应用程序整体架构的建议和注释将非常感激。2)是否有关于Icecast2流媒体协议(protocol)的任何好的文档?我在Icecast的官方网站上找不到这些文档。我不想直接从它的源代码中提取协议(protocol)描述。如果协议(protocol)真的简单

c# - 获取错误 107 (net::ERR_SSL_PROTOCOL_ERROR):SSL 协议(protocol)错误

我知道在stackoverflow上有很多与相同主题相关的问题,但在这里我有一些不同的问题:我在win7/Winxp上使用安装程序类保留端口并用散列绑定(bind):if(Environment.OSVersion.Version.Major>5){startInfo.Arguments=@"/cnetshhttpaddurlaclurl=https://127.0.0.1:8083/user=EVERYONE";netshhttpaddsslcertipport=127.0.0.1:8083certhash=df03c4b0b32f3302a3b70abe6b5dfd864d0986

c# - 从 wcf 绑定(bind) transferMode 从 "Buffered"更改为 "Streamed"是否被视为客户端的重大更改?

我有一个WCF服务端点,它通过流提供二进制文档。端点看起来像这样:publicStreamGetFile(intfileId){...}此服务端点的basicHttpBinding被错误地配置为使用TransferMode="Buffered"。服务端点当前由我无法控制的集成方使用。由于缓冲传输模式的内存消耗问题,我想将其更改为TransferMode="Streamed"。我能否安全地对服务绑定(bind)配置进行此更改,并期望这不会对任何集成方造成任何影响? 最佳答案 据我所知,WCF流模式传输是在客户端选择加入的,这意味着即使

c# - 抛出 FaultException 时 WCF 错误 "The size necessary to buffer the XML content exceeded the buffer quota"

我试图在WCF应用程序的服务器端抛出FaultException。我使用DTO作为此异常的有效负载。从某个时候(对于那种大对象)我开始在客户端收到“缓冲XML内容所需的大小超出了缓冲区配额”异常。所有绑定(bind)消息大小参数和maxDepth都设置为最大的值以排除怀疑。有人遇到过这个问题吗?网上好像还没有解决办法。设置没有帮助。 最佳答案 问题出在ClientRuntime的“MaxFaultSize”参数中,默认值为65535,因此默认情况下您无法在WCF的错误中传递大负载。要更改此值,您应该像这样编写自定义EndpointB

C#:处理 WebClient "protocol violation"

我需要在我的路由器中读取一个位置,但我得到以下异常-ServerProtocolViolation"Theservercommittedaprotocolviolation.Section=ResponseHeaderDetail=CRmustbefollowedbyLF"当我使用.DownloadString(url)函数时会发生这种情况。有没有办法让WebClient忽略协议(protocol)违规?Google中的搜索告诉我应该在某处设置useUnsafeHeaderParsing选项。我可以通过程序来完成吗?如果我使用它有什么问题?编辑:附加代码-publicReadlog()