Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net c#zeromq服务器和一个辅助服务器,将对象从辅助服务器发送到前端_C#_.net_Sockets_Serialization_Zeromq - Fatal编程技术网

.net c#zeromq服务器和一个辅助服务器,将对象从辅助服务器发送到前端

.net c#zeromq服务器和一个辅助服务器,将对象从辅助服务器发送到前端,c#,.net,sockets,serialization,zeromq,C#,.net,Sockets,Serialization,Zeromq,我是零Mq的新手。 我正在尝试实现一个异步请求/应答模式 我有1个服务器和N个客户端 当服务器接收到来自客户端的请求时,它会将该请求传递给一个工作进程,并等待该工作进程完成对该请求的处理。 然后,工作人员应将回复发送回前端插座,然后前端插座将其发送给客户端 问题是,socket.Send/SendMessage方法确实需要一个byte[],它确实需要在worker中序列化我的回复,然后在前端反序列化它 是否有另一种不需要序列化/反序列化的方法? 我想使用对象本身的引用,这可能吗 谢谢你的支持。你

我是零Mq的新手。 我正在尝试实现一个异步请求/应答模式

我有1个服务器和N个客户端

当服务器接收到来自客户端的请求时,它会将该请求传递给一个工作进程,并等待该工作进程完成对该请求的处理。 然后,工作人员应将回复发送回前端插座,然后前端插座将其发送给客户端

问题是,
socket.Send/SendMessage
方法确实需要一个
byte[]
,它确实需要在worker中序列化我的回复,然后在前端反序列化它

是否有另一种不需要序列化/反序列化的方法? 我想使用对象本身的引用,这可能吗

谢谢你的支持。

你不能那样做。而且,您不想这样做,如果您使用的是ZeroMQ,那么您的工作级别要低得多,并且可能在寻求速度和对通信的更多控制

如果你真的想要这个,我想你是在寻找远程处理的概念。请注意,即使在这里,您实际上也没有使用服务器引用,这只是一种错觉,让您感觉它是一样的,但它涉及大量开销,这与您希望使用ZeroMQ的想法不符


我已经通过将字节缓冲区从后端发送到前端解决了这个问题。是的,在这种情况下,我知道ZeroMQ suggest inproc,但如果它在同一个进程上,使用BlockingCollection会更快,并且如果您有权访问此版本的框架,那么使用它非常容易。