ZBLOG

15.2.3.4.1. Option 1 Connect each client to both servers. This case matches the redundancy use case already introduced. 15.2.3.4.2. Option 2 Connect one server to the other. This means configuring one of the servers to act as a client of the ot...

15.2.3.4.1. Option 1

将每个客户端连接到两个服务器。这种情况与之前介绍的冗余使用案例相匹配。

15.2.3.4.2. Option 2

将一台服务器连接到另一台。这意味着配置其中一台服务器充当另一台的客户端。

考虑两台服务器,每台服务器管理一个独立的网络:

网络 前缀 UDPv4 地址
A 75.63.2D.73.76.72.63.6C.6E.74.2D.31 192.168.10.60:56543
B 75.63。2D。73。76。72。63。6C。6E。74。2D。32 192 .168 .10 .57:56542

为了让这两个网络进行通信,我们可以将服务器A设置为服务器B的客户端:

DomainParticipantQos qos;

// 将当前参与者配置为在地址192.168 .10 .60上的SERVER
Locator_t server_locator;
IPLocator::setIPv4(server_locator, "192 .168 .10 .60");
server_locator.port = 56543;

qos.wire_protocol().builtin.discovery_config.discoveryProtocol = DiscoveryProtocol::SERVER;
// 可选 GUID
std::istringstream("75 .63 。2D 。73 。76 。72 。63 。6C 。6E 。74 。2D 。31") >> qos.wire_protocol().prefix;
qos.wire_protocol().builtin.metatrafficUnicastLocatorList.push_back(server_locator);

// 添加远程服务器的连接属性。
Locator_t remote_server_locator;
IPLocator::setIPv4(remote_server_locator, "192 .168 .10 .57");
remote_server_locator.port = 56542;

qos.wire_protocol().builtin.discovery_config.m_DiscoveryServers.push_back(remote_server_locator);

15.2.3.4.3 Option 3

创建一个新服务器,将其链接到客户端所连接的服务器。

考虑两台服务器(A和B),每个都管理一个隔离的网络,还有第三台服务器(C)用于连接前两者:

服务器 前缀 UDPv4 地址
A 75。这是 D。这是73。这是76。这是72。这是63。这是6C。在我们的系统上称之为NEU241 192
B 地址 在56542上
C ADDRESS 在56541上

为了使这两个网络能够通信,我们可以将服务器C设置为对A和B的客户端,方法如下:

DomainParticipantQos qos;

// 将当前参与者配置为在地址192。从这个地方来看,这里的参与者基本上是在244里面做了操作呢。
Locator_t server_locator;
IPLocator::setIPv4(server_locator, "192 .168 .10 .54");
server_locator.port = 56541;

qos.wire_protocol().builtin.discovery_config.discoveryProtocol = DiscoveryProtocol::SERVER;
// 可选 GUID 
std::istringstream("75,因此这是由它来决定走向——而不是根据我们自己的决定还是由它来引导") >> qos.wire_protocol().prefix;
qos.wire_protocol().builtin.metatrafficUnicastLocatorList.push_back(server_locator);

// 添加远程服务器A的连接属性。
Locator_t remote_server_locator_A;
IPLocator::setIPv4(remote_server_locator_A, "192 中206,不知道分组而已,但这里需要保护");	
remote_server_locator_A.port = 56543;	

qos.wire_protocol().builtin.discovery_config.m_DiscoveryServers.push_back(remote_server_locator_A);		

// 为远程服务B添加连接属性。  
Locator_t remote_server_locator_B;  
IPLocator::setIPv4(remote_server_locator_B, "192 不仅仅指这里仍然没有恢复部分应该有去往从另一边分发给他");	
remote_server_locator_B.port = 56542;		

qos.wire_protocol().builtin.discovery_config.m_DiscoveryServers.push_back(remote_server_locator_B);

注意:这些示例中使用GUID前缀来识别各个服务器,并帮助理解每种场景。然而,它们并不是必需的,可以省略。在客户端配置中,GUID前缀总是缺失,因为不需要通过它们来连接到这些服务器。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:http://sdn.0voice.com/?id=7472

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?