编程语言
首页 > 编程语言> > c#-通过已知端口进行服务器间通信

c#-通过已知端口进行服务器间通信

作者:互联网

我们的产品系统由IIS 6.0服务器组成,其后是Java SOA服务器,而后两者都是Oracle数据库服务器.

由于各种原因,我们需要在Java SOA服务器上运行Windows服务,该服务存储与GUID相关的不透明Blob.这是接口的简化版本:

interface IBlobService
{
    void PutBlob(Guid key, byte[] data);
    byte[] GetBlob(Guid key);
}

IBlobService的主要用户是在IIS服务器上运行的Web前端.我们可以通过自定义端口使用WCF或.NET远程进行服务器之间的通信.但是,我们的申请必须遵守严格的认证要求.我们非常希望使用已知的端口进行通信,而不是使用自定义端口.

我们不能使用命名管道,因为我们需要在服务器之间进行通信.
我们已经考虑过使用MSMQ,因为它使用已知端口,但是MSMQ将消息大小限制为4 MB.我们需要传输的远不止于此-至少要传输60 MB.

.NET公开了哪些其他功能(如果有)可以允许服务器之间通过已知端口进行通信?

解决方法:

如果选择MSMQ,我将对数据进行分块并重新组装.

消息主体的内容是不透明的,因此每个块数据都可能包含id,序列,大小和CRC等数据.

您可能要考虑WCF二进制流.请参阅MSDN上的文章:http://msdn.microsoft.com/en-us/library/ms733742.aspx

标签:net-remoting,msmq,wcf,c,net
来源: https://codeday.me/bug/20191208/2091487.html