在没有任何开销的情况下在wcf上发送纯字节[]

时间:2015-10-16 08:19:05

标签: c# wcf bytearray

我将通过 wcf 发送和接收数据。我正在处理的应用程序是服务器,我收到byte [],我也必须将byte []发送到客户端。 我不知道他们(客户端)正在使用哪种应用程序或编程语言,我只知道他们除了收到 byte []而没有任何开销或元数据 。< / p>

这对wcf有用吗?我可以以某种方式配置wcf只发送byte []而不将内联元数据添加到byte []中吗?

我知道还有另一个选项可以直接监听套接字并直接从套接字发送/接收byte [],但我认为wcf可能是更好的选择。

我真的很感激任何帮助!

1 个答案:

答案 0 :(得分:1)

如果你当然可以用WCF实现,但你必须为此开发很多东西。但它值得(恕我直言),只有当你要将这个传入的 byte [] 解码到你身边的对象时,处理反序列化的数据然后序列化响应并将其发送回去。 为此,您必须实现自己的 MessageEncoder MessageEncoderFactory 并将其插入WCF管道以进行某些绑定。 See here一个例子。

Here is one more great sample。实际上值得关注whole set of the articles about WCF extesibility

如果你只需要获取字节,处理二进制数据并发送二进制结果,我会实现监听TCP端口的简单服务。开发速度会快得多,并且工作速度也会更快,完全由您控制。