This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site-v2
in repository https://gitbox.apache.org/repos/asf/dubbo-website.git


The following commit(s) were added to refs/heads/asf-site-v2 by this push:
     new b6f30355d1 deploy: 2027b15ccb9f6cbd2899ed8ef15716df2c2f4a1c
b6f30355d1 is described below

commit b6f30355d1f40a52c6f8224e9de8a912c0cb49b6
Author: AlbumenJ <[email protected]>
AuthorDate: Thu Jan 19 12:46:10 2023 +0000

    deploy: 2027b15ccb9f6cbd2899ed8ef15716df2c2f4a1c
---
 sitemap.xml                                    |   2 +-
 zh/docs3-v2/java-sdk/faq/3/2/index.html        |   6 +-
 zh/docs3-v2/java-sdk/faq/3/index.xml           |   7 +-
 zh/docs3-v2/rust-sdk/index.xml                 | 122 +++++--------------------
 zh/docs3-v2/rust-sdk/unix-transport/index.html | 118 +++++-------------------
 zh/sitemap.xml                                 |   2 +-
 6 files changed, 55 insertions(+), 202 deletions(-)

diff --git a/sitemap.xml b/sitemap.xml
index fc28dc1d19..6c02fb3abb 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9";><sitemap><loc>https://dubbo.apache.org/zh/sitemap.xml</loc><lastmod>2023-01-19T20:41:23+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-01-17T14:11:51+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9";><sitemap><loc>https://dubbo.apache.org/zh/sitemap.xml</loc><lastmod>2023-01-19T20:42:34+08:00</lastmod></sitemap><sitemap><loc>https://dubbo.apache.org/en/sitemap.xml</loc><lastmod>2023-01-17T14:11:51+08:00</lastmod></sitemap></sitemapindex>
\ No newline at end of file
diff --git a/zh/docs3-v2/java-sdk/faq/3/2/index.html 
b/zh/docs3-v2/java-sdk/faq/3/2/index.html
index 948a8b6972..1becfe576a 100644
--- a/zh/docs3-v2/java-sdk/faq/3/2/index.html
+++ b/zh/docs3-v2/java-sdk/faq/3/2/index.html
@@ -1,10 +1,10 @@
-<!doctype html><html lang=zh class=no-js><head><meta charset=utf-8><meta 
name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.110.0"><meta name=ROBOTS content="INDEX, 
FOLLOW"><link rel="shortcut icon" href=/favicons/favicon.ico><link 
rel=apple-touch-icon href=/favicons/apple-touch-icon-180x180.png 
sizes=180x180><link rel=icon type=image/png href=/favicons/favicon-16x16.png 
sizes=16x16><link rel=icon type=image/png href=/favicons [...]
+<!doctype html><html lang=zh class=no-js><head><meta charset=utf-8><meta 
name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.110.0"><meta name=ROBOTS content="INDEX, 
FOLLOW"><link rel="shortcut icon" href=/favicons/favicon.ico><link 
rel=apple-touch-icon href=/favicons/apple-touch-icon-180x180.png 
sizes=180x180><link rel=icon type=image/png href=/favicons/favicon-16x16.png 
sizes=16x16><link rel=icon type=image/png href=/favicons [...]
 <link rel=preload 
href=/scss/main.min.8637cb48af1c2672dbf22e4e83652c0cebe2d667477b88c8a046be155bcf7cfe.css
 as=style><link 
href=/scss/main.min.8637cb48af1c2672dbf22e4e83652c0cebe2d667477b88c8a046be155bcf7cfe.css
 rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js 
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" 
crossorigin=anonymous></script>
 <link rel=stylesheet 
href=https://cdn.jsdelivr.net/npm/@docsearch/css@3></head><body 
class=td-page><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar"><a class=navbar-brand 
href=/zh/><span class=navbar-logo><svg xmlns="http://www.w3.org/2000/svg"; 
viewBox="0 0 321.39 78.54"><title id="title19">DUBBO LOGO</title><path 
class="cls-1" d="M68.46 50.38c0 14.06 11.39 22.11 25.45 22.11s25.45-8.05 
25.45-22.11V7.25H68.46zm21.24-28h8.6V31H89.7zm0  [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh/docs3-v2/java-sdk/faq/3/2.md?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matter%22+section+at
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=3-2%20-%20%e5%8f%91%e5%b8%83%e6%88%96%e6%8e%a8%e9%80%81%e6%9c%8d%e5%8a%a1%e5%a4%b1%e8%b4%a5";
 target=_blank><i class="fab fa-github fa-fw"></i> 提交文档问题</a>
-<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div></aside><main class="col-12 col-md-9 
col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb class="d-none d-md-block 
d-print-none"><ol class="breadcrumb spb-1"><li class=breadcrumb-item><a 
href=https://dubbo.apache.org/zh/docs3-v2/>SDK 手册</a></li><li 
class=breadcrumb-item><a 
href=https://dubbo.apache.org/zh/docs3-v2/java-sdk/>Java</a></li><li 
class=breadcrumb-item><a href=h [...]
-<button class="btn btn-primary mb-4 feedback--answer 
feedback--answer-no">No</button><p class="feedback--response 
feedback--response-yes">Glad to hear it! Please <a 
href=https://github.com/apache/dubbo-website/issues/new>tell us how we can 
improve</a>.</p><p class="feedback--response feedback--response-no">Sorry to 
hear that. Please <a 
href=https://github.com/apache/dubbo-website/issues/new>tell us how we can 
improve</a>.</p></div><script>const yesButton=document.querySelector(".feedback 
[...]
+<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div><div class=td-toc><nav 
id=TableOfContents><ul><li><ul><li><a href=#可能的原因>可能的原因</a></li><li><a 
href=#排查和解决步骤>排查和解决步骤</a></li></ul></li></ul></nav></div></aside><main 
class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb 
class="d-none d-md-block d-print-none"><ol class="breadcrumb spb-1"><li 
class=breadcrumb-item><a href=https://dubbo.apache.org/zh/doc [...]
+<button class="btn btn-primary mb-4 feedback--answer 
feedback--answer-no">No</button><p class="feedback--response 
feedback--response-yes">Glad to hear it! Please <a 
href=https://github.com/apache/dubbo-website/issues/new>tell us how we can 
improve</a>.</p><p class="feedback--response feedback--response-no">Sorry to 
hear that. Please <a 
href=https://github.com/apache/dubbo-website/issues/new>tell us how we can 
improve</a>.</p></div><script>const yesButton=document.querySelector(".feedback 
[...]
 <script src=/js/bootstrap.min.js 
integrity=sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy
 crossorigin=anonymous></script>
 <script 
src=/js/main.min.9f304eb79b67eb331e2b22923c361575b563af25c0fd56279cf20f3a2417cff4.js
 integrity="sha256-nzBOt5tn6zMeKyKSPDYVdbVjryXA/VYnnPIPOiQXz/Q=" 
crossorigin=anonymous></script>
 <script src=https://cdn.jsdelivr.net/npm/@docsearch/js@3></script>
diff --git a/zh/docs3-v2/java-sdk/faq/3/index.xml 
b/zh/docs3-v2/java-sdk/faq/3/index.xml
index 5a291787d8..80aedb1e7b 100644
--- a/zh/docs3-v2/java-sdk/faq/3/index.xml
+++ b/zh/docs3-v2/java-sdk/faq/3/index.xml
@@ -9,18 +9,17 @@
 &lt;li>检查提供方和消费方双方的协议配置。&lt;/li>
 &lt;li>更新注册中心的版本。&lt;/li>
 &lt;/ol></description></item><item><title>Docs3-V2: 3-2 - 
发布或推送服务失败</title><link>https://dubbo.apache.org/zh/docs3-v2/java-sdk/faq/3/2/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh/docs3-v2/java-sdk/faq/3/2/</guid><description>
-&lt;h2 id="可能的原因">可能的原因&lt;/h2>
+&lt;h3 id="可能的原因">可能的原因&lt;/h3>
 &lt;ol>
 &lt;li>注册中心无法连接。&lt;/li>
 &lt;li>注册中心无法对外提供服务。&lt;/li>
 &lt;/ol>
-&lt;h2 id="排查和解决步骤">排查和解决步骤&lt;/h2>
+&lt;h3 id="排查和解决步骤">排查和解决步骤&lt;/h3>
 &lt;ol>
 &lt;li>服务与注册中心网络是否正常。&lt;/li>
 &lt;li>注册中心是否正常启动,并可通过第三方工具进行连接。&lt;/li>
 &lt;li>服务引用的版本与注册中心的版本是否存在版本兼容性问题。&lt;/li>
-&lt;/ol>
-&lt;p style="margin-top: 3rem;"> 
&lt;/p></description></item><item><title>Docs3-V2: 3-3 - 
通过Javassist生成字节码失败</title><link>https://dubbo.apache.org/zh/docs3-v2/java-sdk/faq/3/3/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh/docs3-v2/java-sdk/faq/3/3/</guid><description>
+&lt;/ol></description></item><item><title>Docs3-V2: 3-3 - 
通过Javassist生成字节码失败</title><link>https://dubbo.apache.org/zh/docs3-v2/java-sdk/faq/3/3/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh/docs3-v2/java-sdk/faq/3/3/</guid><description>
 &lt;h2 id="重要提醒">重要提醒&lt;/h2>
 &lt;p>该错误码的意义已经调整。对于 Dubbo 3.1.4、3.2.0-beta.3 及其之前的版本的该错误码的出错,请参考错误码 &lt;a 
href="https://dubbo.apache.org/zh/docs3-v2/java-sdk/faq/3/8/";>3-8&lt;/a>。&lt;/p>
 &lt;p>(该错误码目前空缺)&lt;/p>
diff --git a/zh/docs3-v2/rust-sdk/index.xml b/zh/docs3-v2/rust-sdk/index.xml
index 32ff1f2e1c..6db814467e 100644
--- a/zh/docs3-v2/rust-sdk/index.xml
+++ b/zh/docs3-v2/rust-sdk/index.xml
@@ -575,95 +575,24 @@
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>trailer: 
Some&lt;span style="color:#719e07">(&lt;/span>Metadata &lt;span 
style="color:#719e07">{&lt;/span> inner: &lt;span 
style="color:#719e07">{&lt;/span>&lt;span 
style="color:#2aa198">&amp;#34;content-type&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;application/grpc&amp;#34;&lt;/span>, &lt;span 
style="color:#2aa198">&amp;#34;grpc-status&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;0&amp;#34;&lt; [...]
 
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs3-V2:
 
使用Unix套接字连接器通信</title><link>https://dubbo.apache.org/zh/docs3-v2/rust-sdk/unix-transport/</link><pubDate>Mon,
 01 Jan 0001 00:00:00 
+0000</pubDate><guid>https://dubbo.apache.org/zh/docs3-v2/rust-sdk/unix-transport/</guid><description>
 &lt;p>本文重点讲解 Dubbo Rust Triple 协议使用Unix 套接,请先查看 &lt;a 
href="../quick-start">Quick Start&lt;/a> 了解 Dubbo Rust 基本使用,在此查看本文的&lt;a 
href="https://github.com/apache/dubbo-rust/tree/main/examples/greeter";>完整示例&lt;/a>。&lt;/p>
-&lt;h2 id="1-triple-使用-unix-套接字连接器">1 Triple 使用 Unix 套接字连接器&lt;/h2>
-&lt;p>TripleServer 调整如下。&lt;/p>
-&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-rust" data-lang="rust">&lt;span 
style="display:flex;">&lt;span>&lt;span style="color:#586e75">// 
dubbo/src/protocol/triple/triple_server.rs
-&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#586e75">&lt;/span>&lt;span style="color:#719e07">impl&lt;/span> 
TripleServer {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">pub&lt;/span> &lt;span style="color:#719e07">fn&lt;/span> 
&lt;span style="color:#268bd2">new&lt;/span>(names: &lt;span 
style="color:#b58900">Vec&lt;/span>&lt;span 
style="color:#719e07">&amp;lt;&lt;/span>&lt;span 
style="color:#b58900">String&lt;/span>&lt;span 
style="color:#719e07">&amp;gt;&lt;/span>) -&amp;gt; &lt;span 
style="color:#268bd2">TripleServer&lt;/span> {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">Self&lt;/span> {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> service_names: 
&lt;span style="color:#268bd2">names&lt;/span>,
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> s: &lt;span 
style="color:#268bd2">DubboServer&lt;/span>::new(),
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">pub&lt;/span> &lt;span 
style="color:#719e07">async&lt;/span> &lt;span 
style="color:#719e07">fn&lt;/span> &lt;span 
style="color:#268bd2">serve&lt;/span>(&lt;span 
style="color:#719e07">mut&lt;/span> &lt;span 
style="color:#268bd2">self&lt;/span>, url: &lt;span 
style="color:#b58900">String&lt;/span>) {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">let&lt;/span> lock &lt;span 
style="color:#719e07">=&lt;/span> &lt;span 
style="color:#719e07">super&lt;/span>::TRIPLE_SERVICES.read().unwrap();
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">for&lt;/span> name &lt;span 
style="color:#719e07">in&lt;/span> &lt;span 
style="color:#268bd2">self&lt;/span>.service_names.iter() {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">if&lt;/span> lock.get(name).is_none() {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 
tracing::warn&lt;span style="color:#719e07">!&lt;/span>(&lt;span 
style="color:#2aa198">&amp;#34;service ({}) not register&amp;#34;&lt;/span>, 
name);
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">continue&lt;/span>;
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">let&lt;/span> svc &lt;span 
style="color:#719e07">=&lt;/span> lock.get(name).unwrap();
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">self&lt;/span>.s &lt;span 
style="color:#719e07">=&lt;/span> &lt;span 
style="color:#268bd2">self&lt;/span>.s.add_service(name.clone(), svc.clone());
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">let&lt;/span> uri &lt;span 
style="color:#719e07">=&lt;/span> &lt;span 
style="color:#719e07">match&lt;/span> http::Uri::from_str(&lt;span 
style="color:#719e07">&amp;amp;&lt;/span>url) {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#b58900">Ok&lt;/span>(v) &lt;span 
style="color:#719e07">=&amp;gt;&lt;/span> v,
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#b58900">Err&lt;/span>(err) &lt;span 
style="color:#719e07">=&amp;gt;&lt;/span> {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 
tracing::error&lt;span style="color:#719e07">!&lt;/span>(&lt;span 
style="color:#2aa198">&amp;#34;http uri parse error: {}, url: 
{:?}&amp;#34;&lt;/span>, err, &lt;span 
style="color:#719e07">&amp;amp;&lt;/span>url);
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">return&lt;/span>;
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> };
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">let&lt;/span> authority &lt;span 
style="color:#719e07">=&lt;/span> &lt;span 
style="color:#719e07">match&lt;/span> uri.authority() {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#b58900">Some&lt;/span>(v) &lt;span 
style="color:#719e07">=&amp;gt;&lt;/span> v.to_owned(),
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#b58900">None&lt;/span> &lt;span 
style="color:#719e07">=&amp;gt;&lt;/span> {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 
tracing::error&lt;span style="color:#719e07">!&lt;/span>(&lt;span 
style="color:#2aa198">&amp;#34;http authority is none&amp;#34;&lt;/span>);
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">return&lt;/span>;
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> };
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">self&lt;/span>.s
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 
.with_listener(&lt;span 
style="color:#2aa198">&amp;#34;unix&amp;#34;&lt;/span>.to_string())
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .serve(
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> authority
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .to_string()
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .to_socket_addrs()
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .unwrap()
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .next()
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .unwrap(),
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> )
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .&lt;span 
style="color:#719e07">await&lt;/span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> .unwrap();
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 
id="2-使用-clientconnection-使用-unix-套接字连接器编写逻辑">2 使用 client/connection 使用 Unix 
套接字连接器编写逻辑&lt;/h2>
+&lt;h2 id="1-使用-unix-套接字连接器-说明">1 使用 Unix 套接字连接器 说明&lt;/h2>
+&lt;blockquote>
+&lt;p>#[cfg(any(target_os = &amp;ldquo;macos&amp;rdquo;, 
target_os=&amp;ldquo;unix&amp;rdquo;))] 当操作系统符合cfg配置时,unix 
模块会被编译使用,否则无法使用&lt;/p>
+&lt;/blockquote>
+&lt;h2 id="2-使用-clientconnection-使用-unix-套接字连接器编写逻辑">2 使用 client/connection 使用 
Unix 套接字连接器编写逻辑&lt;/h2>
 &lt;h3 id="21-编写-client-端">2.1 编写 Client 端&lt;/h3>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-rust" data-lang="rust">&lt;span 
style="display:flex;">&lt;span>&lt;span style="color:#586e75">// 
examples/echo/src/echo/client.rs
-&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#586e75">&lt;/span>&lt;span style="color:#719e07">..&lt;/span>.
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">let&lt;/span> &lt;span 
style="color:#719e07">mut&lt;/span> cli &lt;span 
style="color:#719e07">=&lt;/span> EchoClient::connect(&lt;span 
style="color:#2aa198">&amp;#34;unix://0.0.0.0:8888&amp;#34;&lt;/span>.to_string());
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#719e07">..&lt;/span>.
-&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 
id="22-编写-connection">2.2 编写 connection&lt;/h3>
-&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-rust" data-lang="rust">&lt;span 
style="display:flex;">&lt;span>&lt;span style="color:#586e75">// 
dubbo/src/triple/client/connection.rs
-&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#586e75">&lt;/span>&lt;span style="color:#719e07">impl&lt;/span> 
Connection {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">pub&lt;/span> &lt;span style="color:#719e07">fn&lt;/span> 
&lt;span style="color:#268bd2">new&lt;/span>() -&amp;gt; &lt;span 
style="color:#268bd2">Self&lt;/span> {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Connection {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> host: &lt;span 
style="color:#268bd2">hyper&lt;/span>::Uri::default(),
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> connector: 
&lt;span style="color:#2aa198">&amp;#34;unix&amp;#34;&lt;/span>.to_string(),
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> builder: &lt;span 
style="color:#268bd2">Builder&lt;/span>::new(),
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">pub&lt;/span> &lt;span style="color:#719e07">fn&lt;/span> 
&lt;span style="color:#268bd2">with_connector&lt;/span>&lt;span 
style="color:#719e07">&amp;lt;&lt;/span>C&lt;span 
style="color:#719e07">&amp;gt;&lt;/span>(&lt;span 
style="color:#719e07">mut&lt;/span> &lt;span 
style="color:#268bd2">self&lt;/span>, connector: &lt;span 
style="color:#b58900">String&lt;/span>) -&amp;gt; &lt;span style="color:#26 
[...]
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">self&lt;/span>.connector &lt;span 
style="color:#719e07">=&lt;/span> connector;
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">self&lt;/span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">pub&lt;/span> &lt;span style="color:#719e07">fn&lt;/span> 
&lt;span style="color:#268bd2">with_host&lt;/span>(&lt;span 
style="color:#719e07">mut&lt;/span> &lt;span 
style="color:#268bd2">self&lt;/span>, uri: &lt;span 
style="color:#268bd2">hyper&lt;/span>::Uri) -&amp;gt; &lt;span 
style="color:#268bd2">Self&lt;/span> {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">self&lt;/span>.host &lt;span 
style="color:#719e07">=&lt;/span> uri;
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">self&lt;/span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#719e07">pub&lt;/span> &lt;span style="color:#719e07">fn&lt;/span> 
&lt;span style="color:#268bd2">with_builder&lt;/span>(&lt;span 
style="color:#719e07">mut&lt;/span> &lt;span 
style="color:#268bd2">self&lt;/span>, builder: &lt;span 
style="color:#268bd2">Builder&lt;/span>) -&amp;gt; &lt;span 
style="color:#268bd2">Self&lt;/span> {
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">self&lt;/span>.builder &lt;span 
style="color:#719e07">=&lt;/span> builder;
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span 
style="color:#268bd2">self&lt;/span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
+&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#586e75">// 使用 ClientBuilder 初始化 Client
+&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#586e75">&lt;/span>&lt;span style="color:#268bd2">let&lt;/span> 
builder &lt;span style="color:#719e07">=&lt;/span> 
ClientBuilder::new().with_connector(&lt;span 
style="color:#2aa198">&amp;#34;unix&amp;#34;&lt;/span>).with_host(&lt;span 
style="color:#2aa198">&amp;#34;unix://127.0.0.1:8888&amp;#34;&lt;/span>);
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#268bd2">let&lt;/span> &lt;span 
style="color:#719e07">mut&lt;/span> cli &lt;span 
style="color:#719e07">=&lt;/span> EchoClient::build(builder);
+&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="22-编写-server-端">2.2 
编写 Server 端&lt;/h3>
+&lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-rust" data-lang="rust">&lt;span 
style="display:flex;">&lt;span>&lt;span style="color:#586e75">// 
examples/echo/src/echo/server.rs
+&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#586e75">// 通过 serverbuilder 来初始化 Server
+&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#586e75">&lt;/span>&lt;span style="color:#268bd2">let&lt;/span> 
builder &lt;span style="color:#719e07">=&lt;/span> ServerBuilder::new()
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 
.with_listener(&lt;span 
style="color:#2aa198">&amp;#34;unix&amp;#34;&lt;/span>.to_string())
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 
.with_service_names(vec![&lt;span 
style="color:#2aa198">&amp;#34;grpc.examples.echo.Echo&amp;#34;&lt;/span>.to_string()])
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> 
.with_addr(&lt;span 
style="color:#2aa198">&amp;#34;127.0.0.1:8888&amp;#34;&lt;/span>);
+&lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>builder.build().serve().&lt;span 
style="color:#719e07">await&lt;/span>.unwrap();
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="3-运行示例">3 
运行示例&lt;/h2>
 &lt;ol>
 &lt;li>编译&lt;/li>
@@ -674,27 +603,26 @@
 &lt;/ol>
 &lt;p>执行&lt;code>cargo run --bin 
echo-server&lt;/code>来运行server,如上文dubbo.yaml所配置,server会监听8888端口,并以triple协议提供RPC服务:&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-sh" data-lang="sh">&lt;span style="display:flex;">&lt;span>$ 
cargo run --bin echo-server
-&lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>2022-12-05T10:40:20.829798Z INFO 
dubbo::framework: url: triple://0.0.0.0:8888//grpc.examples.echo.Echo
-&lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>2022-12-05T10:40:20.829830Z DEBUG 
dubbo::framework: service name: grpc.examples.echo.Echo, service_config: 
ServiceConfig &lt;span style="color:#719e07">{&lt;/span> version: &lt;span 
style="color:#2aa198">&amp;#34;1.0.0&amp;#34;&lt;/span>, group: &lt;span 
style="color:#2aa198">&amp;#34;test&amp;#34;&lt;/span>, name: &lt;span 
style="color:#2aa198">&amp;#34;&amp;#34;&lt;/span>, protocol: &lt;span 
style="color:#2aa198">&amp;#34;trip [...]
-&lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>2022-12-05T10:40:20.829917Z INFO 
dubbo::framework: protocol: &lt;span 
style="color:#2aa198">&amp;#34;&amp;#34;&lt;/span>, service url: Url &lt;span 
style="color:#719e07">{&lt;/span> uri: &lt;span 
style="color:#2aa198">&amp;#34;triple://0.0.0.0:8888//grpc.examples.echo.Echo&amp;#34;&lt;/span>,
 protocol: &lt;span style="color:#2aa198">&amp;#34;triple&amp;#34;&lt;/span>, 
location: &lt;span style="color:#2aa198">&amp;#34;0.0.0.0:888 [...]
-&lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>2022-12-05T10:40:20.830028Z DEBUG 
dubbo::triple::transport::listener: get_listener: &lt;span 
style="color:#2aa198">&amp;#34;unix&amp;#34;&lt;/span>
+&lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>2023-01-19T08:36:25.663138Z INFO 
dubbo::triple::server::builder: server starting. addr: Some&lt;span 
style="color:#719e07">(&lt;/span>127.0.0.1:8888&lt;span 
style="color:#719e07">)&lt;/span>
 &lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ol start="3">
 &lt;li>运行client,可以看到 Unix 通信效果&lt;/li>
 &lt;/ol>
 &lt;p>执行&lt;code>cargo run --bin 
echo-client&lt;/code>来运行client,调用&lt;code>triple://127.0.0.1:8888/org.apache.dubbo.sample.tri.Greeter&lt;/code>下的各种方法:&lt;/p>
 &lt;div class="highlight">&lt;pre tabindex="0" 
style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code
 class="language-sh" data-lang="sh">&lt;span style="display:flex;">&lt;span>$ 
cargo run --bin echo-client
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span 
style="color:#586e75"># unary call&lt;/span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>fake filter: 
Metadata &lt;span style="color:#719e07">{&lt;/span> inner: &lt;span 
style="color:#719e07">{&lt;/span>&lt;span 
style="color:#2aa198">&amp;#34;path&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;/grpc.examples.echo.Echo/UnaryEcho&amp;#34;&lt;/span>,
 &lt;span style="color:#2aa198">&amp;#34;tri-unit-info&amp;#34;&lt;/span>: 
&lt;span style="color:#2aa198">&amp;#34;dubbo-rust/0.1.0&amp;#34;&lt;/span>, 
&lt;spa [...]
+&lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>2023-01-19T08:38:52.516792Z INFO 
dubbo::triple::transport::connector::unix_connector: host is ip address: 
&lt;span style="color:#2aa198">&amp;#34;127.0.0.1&amp;#34;&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Response: 
EchoResponse &lt;span style="color:#719e07">{&lt;/span> message: &lt;span 
style="color:#2aa198">&amp;#34;hello, dubbo-rust&amp;#34;&lt;/span> &lt;span 
style="color:#719e07">}&lt;/span>
+&lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>2023-01-19T08:38:52.526697Z INFO 
dubbo::triple::transport::connector::unix_connector: host is ip address: 
&lt;span style="color:#2aa198">&amp;#34;127.0.0.1&amp;#34;&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>client streaming, 
Response: EchoResponse &lt;span style="color:#719e07">{&lt;/span> message: 
&lt;span style="color:#2aa198">&amp;#34;hello client 
streaming&amp;#34;&lt;/span> &lt;span style="color:#719e07">}&lt;/span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>parts: Metadata 
&lt;span style="color:#719e07">{&lt;/span> inner: &lt;span 
style="color:#719e07">{&lt;/span>&lt;span 
style="color:#2aa198">&amp;#34;date&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;Mon, 05 Dec 2022 10:43:57 
GMT&amp;#34;&lt;/span>, &lt;span 
style="color:#2aa198">&amp;#34;content-type&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;application/grpc&amp;#34;&lt;/span>&lt;span 
style="color [...]
+&lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>2023-01-19T08:38:52.539439Z INFO 
dubbo::triple::transport::connector::unix_connector: host is ip address: 
&lt;span style="color:#2aa198">&amp;#34;127.0.0.1&amp;#34;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>parts: Metadata 
&lt;span style="color:#719e07">{&lt;/span> inner: &lt;span 
style="color:#719e07">{&lt;/span>&lt;span 
style="color:#2aa198">&amp;#34;content-type&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;application/grpc&amp;#34;&lt;/span>, &lt;span 
style="color:#2aa198">&amp;#34;date&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;Thu, 19 Jan 2023 08:38:52 
GMT&amp;#34;&lt;/span>&lt;span style="color [...]
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>reply: 
EchoResponse &lt;span style="color:#719e07">{&lt;/span> message: &lt;span 
style="color:#2aa198">&amp;#34;server reply: \&amp;#34;msg1 from 
client\&amp;#34;&amp;#34;&lt;/span> &lt;span style="color:#719e07">}&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>reply: 
EchoResponse &lt;span style="color:#719e07">{&lt;/span> message: &lt;span 
style="color:#2aa198">&amp;#34;server reply: \&amp;#34;msg2 from 
client\&amp;#34;&amp;#34;&lt;/span> &lt;span style="color:#719e07">}&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>reply: 
EchoResponse &lt;span style="color:#719e07">{&lt;/span> message: &lt;span 
style="color:#2aa198">&amp;#34;server reply: \&amp;#34;msg3 from 
client\&amp;#34;&amp;#34;&lt;/span> &lt;span style="color:#719e07">}&lt;/span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>trailer: 
Some&lt;span style="color:#719e07">(&lt;/span>Metadata &lt;span 
style="color:#719e07">{&lt;/span> inner: &lt;span 
style="color:#719e07">{&lt;/span>&lt;span 
style="color:#2aa198">&amp;#34;grpc-message&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;poll trailer successfully.&amp;#34;&lt;/span>, 
&lt;span style="color:#2aa198">&amp;#34;content-type&amp;#34;&lt;/span>: 
&lt;span style="color:#2aa198">&amp;#34;app [...]
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>parts: Metadata 
&lt;span style="color:#719e07">{&lt;/span> inner: &lt;span 
style="color:#719e07">{&lt;/span>&lt;span 
style="color:#2aa198">&amp;#34;content-type&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;application/grpc&amp;#34;&lt;/span>, &lt;span 
style="color:#2aa198">&amp;#34;date&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;Mon, 05 Dec 2022 10:43:58 
GMT&amp;#34;&lt;/span>&lt;span style="color [...]
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>trailer: 
Some&lt;span style="color:#719e07">(&lt;/span>Metadata &lt;span 
style="color:#719e07">{&lt;/span> inner: &lt;span 
style="color:#719e07">{&lt;/span>&lt;span 
style="color:#2aa198">&amp;#34;grpc-accept-encoding&amp;#34;&lt;/span>: 
&lt;span style="color:#2aa198">&amp;#34;gzip,identity&amp;#34;&lt;/span>, 
&lt;span style="color:#2aa198">&amp;#34;grpc-status&amp;#34;&lt;/span>: 
&lt;span style="color:#2aa198">&amp;#34;0&amp;#34 [...]
+&lt;/span>&lt;/span>&lt;span 
style="display:flex;">&lt;span>2023-01-19T08:38:52.645035Z INFO 
dubbo::triple::transport::connector::unix_connector: host is ip address: 
&lt;span style="color:#2aa198">&amp;#34;127.0.0.1&amp;#34;&lt;/span>
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>parts: Metadata 
&lt;span style="color:#719e07">{&lt;/span> inner: &lt;span 
style="color:#719e07">{&lt;/span>&lt;span 
style="color:#2aa198">&amp;#34;content-type&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;application/grpc&amp;#34;&lt;/span>, &lt;span 
style="color:#2aa198">&amp;#34;date&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;Thu, 19 Jan 2023 08:38:52 
GMT&amp;#34;&lt;/span>&lt;span style="color [...]
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>reply: 
EchoResponse &lt;span style="color:#719e07">{&lt;/span> message: &lt;span 
style="color:#2aa198">&amp;#34;msg1 from server&amp;#34;&lt;/span> &lt;span 
style="color:#719e07">}&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>reply: 
EchoResponse &lt;span style="color:#719e07">{&lt;/span> message: &lt;span 
style="color:#2aa198">&amp;#34;msg2 from server&amp;#34;&lt;/span> &lt;span 
style="color:#719e07">}&lt;/span>
 &lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>reply: 
EchoResponse &lt;span style="color:#719e07">{&lt;/span> message: &lt;span 
style="color:#2aa198">&amp;#34;msg3 from server&amp;#34;&lt;/span> &lt;span 
style="color:#719e07">}&lt;/span>
-&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>trailer: 
Some&lt;span style="color:#719e07">(&lt;/span>Metadata &lt;span 
style="color:#719e07">{&lt;/span> inner: &lt;span 
style="color:#719e07">{&lt;/span>&lt;span 
style="color:#2aa198">&amp;#34;grpc-status&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;0&amp;#34;&lt;/span>, &lt;span 
style="color:#2aa198">&amp;#34;grpc-message&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;poll trailer successfully.&am [...]
+&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>trailer: 
Some&lt;span style="color:#719e07">(&lt;/span>Metadata &lt;span 
style="color:#719e07">{&lt;/span> inner: &lt;span 
style="color:#719e07">{&lt;/span>&lt;span 
style="color:#2aa198">&amp;#34;grpc-status&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;0&amp;#34;&lt;/span>, &lt;span 
style="color:#2aa198">&amp;#34;content-type&amp;#34;&lt;/span>: &lt;span 
style="color:#2aa198">&amp;#34;application/grpc&amp;#34;&lt; [...]
 
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item></channel></rss>
\ No newline at end of file
diff --git a/zh/docs3-v2/rust-sdk/unix-transport/index.html 
b/zh/docs3-v2/rust-sdk/unix-transport/index.html
index 6db792a2e5..fcce09d676 100644
--- a/zh/docs3-v2/rust-sdk/unix-transport/index.html
+++ b/zh/docs3-v2/rust-sdk/unix-transport/index.html
@@ -1,114 +1,40 @@
-<!doctype html><html lang=zh class=no-js><head><meta charset=utf-8><meta 
name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.110.0"><meta name=ROBOTS content="INDEX, 
FOLLOW"><link rel="shortcut icon" href=/favicons/favicon.ico><link 
rel=apple-touch-icon href=/favicons/apple-touch-icon-180x180.png 
sizes=180x180><link rel=icon type=image/png href=/favicons/favicon-16x16.png 
sizes=16x16><link rel=icon type=image/png href=/favicons [...]
+<!doctype html><html lang=zh class=no-js><head><meta charset=utf-8><meta 
name=viewport 
content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta 
name=generator content="Hugo 0.110.0"><meta name=ROBOTS content="INDEX, 
FOLLOW"><link rel="shortcut icon" href=/favicons/favicon.ico><link 
rel=apple-touch-icon href=/favicons/apple-touch-icon-180x180.png 
sizes=180x180><link rel=icon type=image/png href=/favicons/favicon-16x16.png 
sizes=16x16><link rel=icon type=image/png href=/favicons [...]
 <link rel=preload 
href=/scss/main.min.8637cb48af1c2672dbf22e4e83652c0cebe2d667477b88c8a046be155bcf7cfe.css
 as=style><link 
href=/scss/main.min.8637cb48af1c2672dbf22e4e83652c0cebe2d667477b88c8a046be155bcf7cfe.css
 rel=stylesheet integrity><script src=/js/jquery-3.5.1.min.js 
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" 
crossorigin=anonymous></script>
 <link rel=stylesheet 
href=https://cdn.jsdelivr.net/npm/@docsearch/css@3></head><body 
class=td-page><header><nav class="js-navbar-scroll navbar navbar-expand 
navbar-dark flex-column flex-md-row td-navbar"><a class=navbar-brand 
href=/zh/><span class=navbar-logo><svg xmlns="http://www.w3.org/2000/svg"; 
viewBox="0 0 321.39 78.54"><title id="title19">DUBBO LOGO</title><path 
class="cls-1" d="M68.46 50.38c0 14.06 11.39 22.11 25.45 22.11s25.45-8.05 
25.45-22.11V7.25H68.46zm21.24-28h8.6V31H89.7zm0  [...]
 <a 
href="https://github.com/apache/dubbo-website/new/master/content/zh/docs3-v2/rust-sdk/unix-transport.md?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matter%22+sec
 [...]
 <a 
href="https://github.com/apache/dubbo-website/issues/new?title=%e4%bd%bf%e7%94%a8Unix%e5%a5%97%e6%8e%a5%e5%ad%97%e8%bf%9e%e6%8e%a5%e5%99%a8%e9%80%9a%e4%bf%a1";
 target=_blank><i class="fab fa-github fa-fw"></i> 提交文档问题</a>
-<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div><div class=td-toc><nav 
id=TableOfContents><ul><li><a href=#1-triple-使用-unix-套接字连接器>1 Triple 使用 Unix 
套接字连接器</a></li><li><a href=#2-使用-clientconnection-使用-unix-套接字连接器编写逻辑>2 使用 
client/connection 使用 Unix 套接字连接器编写逻辑</a><ul><li><a href=#21-编写-client-端>2.1 编写 
Client 端</a></li><li><a href=#22-编写-connection>2.2 编写 
connection</a></li></ul></li><li><a href=#3-运行示例>3 运行示例</a></li></ul> [...]
-</span></span></span><span style=display:flex><span><span 
style=color:#586e75></span><span style=color:#719e07>impl</span> TripleServer {
-</span></span><span style=display:flex><span>    <span 
style=color:#719e07>pub</span> <span style=color:#719e07>fn</span> <span 
style=color:#268bd2>new</span>(names: <span style=color:#b58900>Vec</span><span 
style=color:#719e07>&lt;</span><span style=color:#b58900>String</span><span 
style=color:#719e07>&gt;</span>) -&gt; <span 
style=color:#268bd2>TripleServer</span> {
-</span></span><span style=display:flex><span>        <span 
style=color:#268bd2>Self</span> {
-</span></span><span style=display:flex><span>            service_names: <span 
style=color:#268bd2>names</span>,
-</span></span><span style=display:flex><span>            s: <span 
style=color:#268bd2>DubboServer</span>::new(),
-</span></span><span style=display:flex><span>        }
-</span></span><span style=display:flex><span>    }
-</span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span>    <span 
style=color:#719e07>pub</span> <span style=color:#719e07>async</span> <span 
style=color:#719e07>fn</span> <span style=color:#268bd2>serve</span>(<span 
style=color:#719e07>mut</span> <span style=color:#268bd2>self</span>, url: 
<span style=color:#b58900>String</span>) {
-</span></span><span style=display:flex><span>        {
-</span></span><span style=display:flex><span>            <span 
style=color:#268bd2>let</span> lock <span style=color:#719e07>=</span> <span 
style=color:#719e07>super</span>::TRIPLE_SERVICES.read().unwrap();
-</span></span><span style=display:flex><span>            <span 
style=color:#719e07>for</span> name <span style=color:#719e07>in</span> <span 
style=color:#268bd2>self</span>.service_names.iter() {
-</span></span><span style=display:flex><span>                <span 
style=color:#719e07>if</span> lock.get(name).is_none() {
-</span></span><span style=display:flex><span>                    
tracing::warn<span style=color:#719e07>!</span>(<span 
style=color:#2aa198>&#34;service ({}) not register&#34;</span>, name);
-</span></span><span style=display:flex><span>                    <span 
style=color:#719e07>continue</span>;
-</span></span><span style=display:flex><span>                }
-</span></span><span style=display:flex><span>                <span 
style=color:#268bd2>let</span> svc <span style=color:#719e07>=</span> 
lock.get(name).unwrap();
-</span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span>                <span 
style=color:#268bd2>self</span>.s <span style=color:#719e07>=</span> <span 
style=color:#268bd2>self</span>.s.add_service(name.clone(), svc.clone());
-</span></span><span style=display:flex><span>            }
-</span></span><span style=display:flex><span>        }
-</span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span>        <span 
style=color:#268bd2>let</span> uri <span style=color:#719e07>=</span> <span 
style=color:#719e07>match</span> http::Uri::from_str(<span 
style=color:#719e07>&amp;</span>url) {
-</span></span><span style=display:flex><span>            <span 
style=color:#b58900>Ok</span>(v) <span style=color:#719e07>=&gt;</span> v,
-</span></span><span style=display:flex><span>            <span 
style=color:#b58900>Err</span>(err) <span style=color:#719e07>=&gt;</span> {
-</span></span><span style=display:flex><span>                
tracing::error<span style=color:#719e07>!</span>(<span 
style=color:#2aa198>&#34;http uri parse error: {}, url: {:?}&#34;</span>, err, 
<span style=color:#719e07>&amp;</span>url);
-</span></span><span style=display:flex><span>                <span 
style=color:#719e07>return</span>;
-</span></span><span style=display:flex><span>            }
-</span></span><span style=display:flex><span>        };
-</span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span>        <span 
style=color:#268bd2>let</span> authority <span style=color:#719e07>=</span> 
<span style=color:#719e07>match</span> uri.authority() {
-</span></span><span style=display:flex><span>            <span 
style=color:#b58900>Some</span>(v) <span style=color:#719e07>=&gt;</span> 
v.to_owned(),
-</span></span><span style=display:flex><span>            <span 
style=color:#b58900>None</span> <span style=color:#719e07>=&gt;</span> {
-</span></span><span style=display:flex><span>                
tracing::error<span style=color:#719e07>!</span>(<span 
style=color:#2aa198>&#34;http authority is none&#34;</span>);
-</span></span><span style=display:flex><span>                <span 
style=color:#719e07>return</span>;
-</span></span><span style=display:flex><span>            }
-</span></span><span style=display:flex><span>        };
-</span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span>        <span 
style=color:#268bd2>self</span>.s
-</span></span><span style=display:flex><span>            .with_listener(<span 
style=color:#2aa198>&#34;unix&#34;</span>.to_string())
-</span></span><span style=display:flex><span>            .serve(
-</span></span><span style=display:flex><span>                authority
-</span></span><span style=display:flex><span>                    .to_string()
-</span></span><span style=display:flex><span>                    
.to_socket_addrs()
-</span></span><span style=display:flex><span>                    .unwrap()
-</span></span><span style=display:flex><span>                    .next()
-</span></span><span style=display:flex><span>                    .unwrap(),
-</span></span><span style=display:flex><span>            )
-</span></span><span style=display:flex><span>            .<span 
style=color:#719e07>await</span>
-</span></span><span style=display:flex><span>            .unwrap();
-</span></span><span style=display:flex><span>    }
-</span></span><span style=display:flex><span>}
-</span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h2 
id=2-使用-clientconnection-使用-unix-套接字连接器编写逻辑>2 使用 client/connection 使用 Unix 
套接字连接器编写逻辑</h2><h3 id=21-编写-client-端>2.1 编写 Client 端</h3><div 
class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-rust data-lang=rust><span style=display:flex><span><span 
style=color:#586e75>// examples/echo/src/echo/client.rs
-</span></span></span><span style=display:flex><span><span 
style=color:#586e75></span><span style=color:#719e07>..</span>.
-</span></span><span style=display:flex><span><span 
style=color:#268bd2>let</span> <span style=color:#719e07>mut</span> cli <span 
style=color:#719e07>=</span> EchoClient::connect(<span 
style=color:#2aa198>&#34;unix://0.0.0.0:8888&#34;</span>.to_string());
-</span></span><span style=display:flex><span><span 
style=color:#719e07>..</span>.
-</span></span></code></pre></div><h3 id=22-编写-connection>2.2 编写 
connection</h3><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-rust data-lang=rust><span style=display:flex><span><span 
style=color:#586e75>// dubbo/src/triple/client/connection.rs
-</span></span></span><span style=display:flex><span><span 
style=color:#586e75></span><span style=color:#719e07>impl</span> Connection {
-</span></span><span style=display:flex><span>    <span 
style=color:#719e07>pub</span> <span style=color:#719e07>fn</span> <span 
style=color:#268bd2>new</span>() -&gt; <span style=color:#268bd2>Self</span> {
-</span></span><span style=display:flex><span>        Connection {
-</span></span><span style=display:flex><span>            host: <span 
style=color:#268bd2>hyper</span>::Uri::default(),
-</span></span><span style=display:flex><span>            connector: <span 
style=color:#2aa198>&#34;unix&#34;</span>.to_string(),
-</span></span><span style=display:flex><span>            builder: <span 
style=color:#268bd2>Builder</span>::new(),
-</span></span><span style=display:flex><span>        }
-</span></span><span style=display:flex><span>    }
-</span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span>    <span 
style=color:#719e07>pub</span> <span style=color:#719e07>fn</span> <span 
style=color:#268bd2>with_connector</span><span 
style=color:#719e07>&lt;</span>C<span style=color:#719e07>&gt;</span>(<span 
style=color:#719e07>mut</span> <span style=color:#268bd2>self</span>, 
connector: <span style=color:#b58900>String</span>) -&gt; <span 
style=color:#268bd2>Self</span> {
-</span></span><span style=display:flex><span>        <span 
style=color:#268bd2>self</span>.connector <span style=color:#719e07>=</span> 
connector;
-</span></span><span style=display:flex><span>        <span 
style=color:#268bd2>self</span>
-</span></span><span style=display:flex><span>    }
-</span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span>    <span 
style=color:#719e07>pub</span> <span style=color:#719e07>fn</span> <span 
style=color:#268bd2>with_host</span>(<span style=color:#719e07>mut</span> <span 
style=color:#268bd2>self</span>, uri: <span 
style=color:#268bd2>hyper</span>::Uri) -&gt; <span 
style=color:#268bd2>Self</span> {
-</span></span><span style=display:flex><span>        <span 
style=color:#268bd2>self</span>.host <span style=color:#719e07>=</span> uri;
-</span></span><span style=display:flex><span>        <span 
style=color:#268bd2>self</span>
-</span></span><span style=display:flex><span>    }
-</span></span><span style=display:flex><span>
-</span></span><span style=display:flex><span>    <span 
style=color:#719e07>pub</span> <span style=color:#719e07>fn</span> <span 
style=color:#268bd2>with_builder</span>(<span style=color:#719e07>mut</span> 
<span style=color:#268bd2>self</span>, builder: <span 
style=color:#268bd2>Builder</span>) -&gt; <span style=color:#268bd2>Self</span> 
{
-</span></span><span style=display:flex><span>        <span 
style=color:#268bd2>self</span>.builder <span style=color:#719e07>=</span> 
builder;
-</span></span><span style=display:flex><span>        <span 
style=color:#268bd2>self</span>
-</span></span><span style=display:flex><span>    }
-</span></span><span style=display:flex><span>}
+<a href=https://github.com/apache/dubbo/issues/new target=_blank><i class="fas 
fa-tasks fa-fw"></i> 提交项目问题</a></div><div class=td-toc><nav 
id=TableOfContents><ul><li><a href=#1-使用-unix-套接字连接器-说明>1 使用 Unix 套接字连接器 
说明</a></li><li><a href=#2-使用-clientconnection-使用-unix-套接字连接器编写逻辑>2 使用 
client/connection 使用 Unix 套接字连接器编写逻辑</a><ul><li><a href=#21-编写-client-端>2.1 编写 
Client 端</a></li><li><a href=#22-编写-server-端>2.2 编写 Server 
端</a></li></ul></li><li><a href=#3-运行示例>3 运行示例</a></li></ul></nav></div> [...]
+</span></span></span><span style=display:flex><span><span 
style=color:#586e75>// 使用 ClientBuilder 初始化 Client
+</span></span></span><span style=display:flex><span><span 
style=color:#586e75></span><span style=color:#268bd2>let</span> builder <span 
style=color:#719e07>=</span> ClientBuilder::new().with_connector(<span 
style=color:#2aa198>&#34;unix&#34;</span>).with_host(<span 
style=color:#2aa198>&#34;unix://127.0.0.1:8888&#34;</span>);
+</span></span><span style=display:flex><span><span 
style=color:#268bd2>let</span> <span style=color:#719e07>mut</span> cli <span 
style=color:#719e07>=</span> EchoClient::build(builder);
+</span></span></code></pre></div><h3 id=22-编写-server-端>2.2 编写 Server 
端</h3><div class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-rust data-lang=rust><span style=display:flex><span><span 
style=color:#586e75>// examples/echo/src/echo/server.rs
+</span></span></span><span style=display:flex><span><span 
style=color:#586e75>// 通过 serverbuilder 来初始化 Server
+</span></span></span><span style=display:flex><span><span 
style=color:#586e75></span><span style=color:#268bd2>let</span> builder <span 
style=color:#719e07>=</span> ServerBuilder::new()
+</span></span><span style=display:flex><span>    .with_listener(<span 
style=color:#2aa198>&#34;unix&#34;</span>.to_string())
+</span></span><span style=display:flex><span>    
.with_service_names(vec![<span 
style=color:#2aa198>&#34;grpc.examples.echo.Echo&#34;</span>.to_string()])
+</span></span><span style=display:flex><span>    .with_addr(<span 
style=color:#2aa198>&#34;127.0.0.1:8888&#34;</span>);
+</span></span><span style=display:flex><span>builder.build().serve().<span 
style=color:#719e07>await</span>.unwrap();
 </span></span></code></pre></div><h2 id=3-运行示例>3 
运行示例</h2><ol><li>编译</li></ol><p>执行<code>cargo 
build</code>来编译server和client。</p><ol 
start=2><li>运行server</li></ol><p>执行<code>cargo run --bin 
echo-server</code>来运行server,如上文dubbo.yaml所配置,server会监听8888端口,并以triple协议提供RPC服务:</p><div
 class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-sh data-lang=sh><span style=display:flex><span>$ cargo run 
--bin echo-server
-</span></span><span style=display:flex><span>2022-12-05T10:40:20.829798Z  INFO 
dubbo::framework: url: triple://0.0.0.0:8888//grpc.examples.echo.Echo
-</span></span><span style=display:flex><span>2022-12-05T10:40:20.829830Z DEBUG 
dubbo::framework: service name: grpc.examples.echo.Echo, service_config: 
ServiceConfig <span style=color:#719e07>{</span> version: <span 
style=color:#2aa198>&#34;1.0.0&#34;</span>, group: <span 
style=color:#2aa198>&#34;test&#34;</span>, name: <span 
style=color:#2aa198>&#34;&#34;</span>, protocol: <span 
style=color:#2aa198>&#34;triple&#34;</span>, registry: <span 
style=color:#2aa198>&#34;zookeeper&#34;</span>,  [...]
-</span></span><span style=display:flex><span>2022-12-05T10:40:20.829917Z  INFO 
dubbo::framework: protocol: <span style=color:#2aa198>&#34;&#34;</span>, 
service url: Url <span style=color:#719e07>{</span> uri: <span 
style=color:#2aa198>&#34;triple://0.0.0.0:8888//grpc.examples.echo.Echo&#34;</span>,
 protocol: <span style=color:#2aa198>&#34;triple&#34;</span>, location: <span 
style=color:#2aa198>&#34;0.0.0.0:8888&#34;</span>, ip: <span 
style=color:#2aa198>&#34;0.0.0.0&#34;</span>, port: <s [...]
-</span></span><span style=display:flex><span>2022-12-05T10:40:20.830028Z DEBUG 
dubbo::triple::transport::listener: get_listener: <span 
style=color:#2aa198>&#34;unix&#34;</span>
+</span></span><span style=display:flex><span>2023-01-19T08:36:25.663138Z  INFO 
dubbo::triple::server::builder: server starting. addr: Some<span 
style=color:#719e07>(</span>127.0.0.1:8888<span style=color:#719e07>)</span>
 </span></span></code></pre></div><ol start=3><li>运行client,可以看到 Unix 
通信效果</li></ol><p>执行<code>cargo run --bin 
echo-client</code>来运行client,调用<code>triple://127.0.0.1:8888/org.apache.dubbo.sample.tri.Greeter</code>下的各种方法:</p><div
 class=highlight><pre tabindex=0 
style=color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
 class=language-sh data-lang=sh><span style=display:flex><span>$ cargo run 
--bin echo-client
-</span></span><span style=display:flex><span><span style=color:#586e75># unary 
call</span>
-</span></span><span style=display:flex><span>fake filter: Metadata <span 
style=color:#719e07>{</span> inner: <span style=color:#719e07>{</span><span 
style=color:#2aa198>&#34;path&#34;</span>: <span 
style=color:#2aa198>&#34;/grpc.examples.echo.Echo/UnaryEcho&#34;</span>, <span 
style=color:#2aa198>&#34;tri-unit-info&#34;</span>: <span 
style=color:#2aa198>&#34;dubbo-rust/0.1.0&#34;</span>, <span 
style=color:#2aa198>&#34;grpc-accept-encoding&#34;</span>: <span 
style=color:#2aa198>&#34;gzip&# [...]
+</span></span><span style=display:flex><span>2023-01-19T08:38:52.516792Z  INFO 
dubbo::triple::transport::connector::unix_connector: host is ip address: <span 
style=color:#2aa198>&#34;127.0.0.1&#34;</span>
 </span></span><span style=display:flex><span>Response: EchoResponse <span 
style=color:#719e07>{</span> message: <span style=color:#2aa198>&#34;hello, 
dubbo-rust&#34;</span> <span style=color:#719e07>}</span>
+</span></span><span style=display:flex><span>2023-01-19T08:38:52.526697Z  INFO 
dubbo::triple::transport::connector::unix_connector: host is ip address: <span 
style=color:#2aa198>&#34;127.0.0.1&#34;</span>
 </span></span><span style=display:flex><span>client streaming, Response: 
EchoResponse <span style=color:#719e07>{</span> message: <span 
style=color:#2aa198>&#34;hello client streaming&#34;</span> <span 
style=color:#719e07>}</span>
-</span></span><span style=display:flex><span>parts: Metadata <span 
style=color:#719e07>{</span> inner: <span style=color:#719e07>{</span><span 
style=color:#2aa198>&#34;date&#34;</span>: <span style=color:#2aa198>&#34;Mon, 
05 Dec 2022 10:43:57 GMT&#34;</span>, <span 
style=color:#2aa198>&#34;content-type&#34;</span>: <span 
style=color:#2aa198>&#34;application/grpc&#34;</span><span 
style=color:#719e07>}</span> <span style=color:#719e07>}</span>
+</span></span><span style=display:flex><span>2023-01-19T08:38:52.539439Z  INFO 
dubbo::triple::transport::connector::unix_connector: host is ip address: <span 
style=color:#2aa198>&#34;127.0.0.1&#34;</span>
+</span></span><span style=display:flex><span>parts: Metadata <span 
style=color:#719e07>{</span> inner: <span style=color:#719e07>{</span><span 
style=color:#2aa198>&#34;content-type&#34;</span>: <span 
style=color:#2aa198>&#34;application/grpc&#34;</span>, <span 
style=color:#2aa198>&#34;date&#34;</span>: <span style=color:#2aa198>&#34;Thu, 
19 Jan 2023 08:38:52 GMT&#34;</span><span style=color:#719e07>}</span> <span 
style=color:#719e07>}</span>
 </span></span><span style=display:flex><span>reply: EchoResponse <span 
style=color:#719e07>{</span> message: <span style=color:#2aa198>&#34;server 
reply: \&#34;msg1 from client\&#34;&#34;</span> <span 
style=color:#719e07>}</span>
 </span></span><span style=display:flex><span>reply: EchoResponse <span 
style=color:#719e07>{</span> message: <span style=color:#2aa198>&#34;server 
reply: \&#34;msg2 from client\&#34;&#34;</span> <span 
style=color:#719e07>}</span>
 </span></span><span style=display:flex><span>reply: EchoResponse <span 
style=color:#719e07>{</span> message: <span style=color:#2aa198>&#34;server 
reply: \&#34;msg3 from client\&#34;&#34;</span> <span 
style=color:#719e07>}</span>
-</span></span><span style=display:flex><span>trailer: Some<span 
style=color:#719e07>(</span>Metadata <span style=color:#719e07>{</span> inner: 
<span style=color:#719e07>{</span><span 
style=color:#2aa198>&#34;grpc-message&#34;</span>: <span 
style=color:#2aa198>&#34;poll trailer successfully.&#34;</span>, <span 
style=color:#2aa198>&#34;content-type&#34;</span>: <span 
style=color:#2aa198>&#34;application/grpc&#34;</span>, <span 
style=color:#2aa198>&#34;grpc-accept-encoding&#34;</span>: <spa [...]
-</span></span><span style=display:flex><span>parts: Metadata <span 
style=color:#719e07>{</span> inner: <span style=color:#719e07>{</span><span 
style=color:#2aa198>&#34;content-type&#34;</span>: <span 
style=color:#2aa198>&#34;application/grpc&#34;</span>, <span 
style=color:#2aa198>&#34;date&#34;</span>: <span style=color:#2aa198>&#34;Mon, 
05 Dec 2022 10:43:58 GMT&#34;</span><span style=color:#719e07>}</span> <span 
style=color:#719e07>}</span>
+</span></span><span style=display:flex><span>trailer: Some<span 
style=color:#719e07>(</span>Metadata <span style=color:#719e07>{</span> inner: 
<span style=color:#719e07>{</span><span 
style=color:#2aa198>&#34;grpc-accept-encoding&#34;</span>: <span 
style=color:#2aa198>&#34;gzip,identity&#34;</span>, <span 
style=color:#2aa198>&#34;grpc-status&#34;</span>: <span 
style=color:#2aa198>&#34;0&#34;</span>, <span 
style=color:#2aa198>&#34;grpc-message&#34;</span>: <span 
style=color:#2aa198>&#34;po [...]
+</span></span><span style=display:flex><span>2023-01-19T08:38:52.645035Z  INFO 
dubbo::triple::transport::connector::unix_connector: host is ip address: <span 
style=color:#2aa198>&#34;127.0.0.1&#34;</span>
+</span></span><span style=display:flex><span>parts: Metadata <span 
style=color:#719e07>{</span> inner: <span style=color:#719e07>{</span><span 
style=color:#2aa198>&#34;content-type&#34;</span>: <span 
style=color:#2aa198>&#34;application/grpc&#34;</span>, <span 
style=color:#2aa198>&#34;date&#34;</span>: <span style=color:#2aa198>&#34;Thu, 
19 Jan 2023 08:38:52 GMT&#34;</span><span style=color:#719e07>}</span> <span 
style=color:#719e07>}</span>
 </span></span><span style=display:flex><span>reply: EchoResponse <span 
style=color:#719e07>{</span> message: <span style=color:#2aa198>&#34;msg1 from 
server&#34;</span> <span style=color:#719e07>}</span>
 </span></span><span style=display:flex><span>reply: EchoResponse <span 
style=color:#719e07>{</span> message: <span style=color:#2aa198>&#34;msg2 from 
server&#34;</span> <span style=color:#719e07>}</span>
 </span></span><span style=display:flex><span>reply: EchoResponse <span 
style=color:#719e07>{</span> message: <span style=color:#2aa198>&#34;msg3 from 
server&#34;</span> <span style=color:#719e07>}</span>
-</span></span><span style=display:flex><span>trailer: Some<span 
style=color:#719e07>(</span>Metadata <span style=color:#719e07>{</span> inner: 
<span style=color:#719e07>{</span><span 
style=color:#2aa198>&#34;grpc-status&#34;</span>: <span 
style=color:#2aa198>&#34;0&#34;</span>, <span 
style=color:#2aa198>&#34;grpc-message&#34;</span>: <span 
style=color:#2aa198>&#34;poll trailer successfully.&#34;</span>, <span 
style=color:#2aa198>&#34;grpc-accept-encoding&#34;</span>: <span style=color:#2 
[...]
+</span></span><span style=display:flex><span>trailer: Some<span 
style=color:#719e07>(</span>Metadata <span style=color:#719e07>{</span> inner: 
<span style=color:#719e07>{</span><span 
style=color:#2aa198>&#34;grpc-status&#34;</span>: <span 
style=color:#2aa198>&#34;0&#34;</span>, <span 
style=color:#2aa198>&#34;content-type&#34;</span>: <span 
style=color:#2aa198>&#34;application/grpc&#34;</span>, <span 
style=color:#2aa198>&#34;grpc-message&#34;</span>: <span 
style=color:#2aa198>&#34;poll tr [...]
 
</span></span></code></pre></div><style>.feedback--answer{display:inline-block}.feedback--answer-no{margin-left:1em}.feedback--response{display:none;margin-top:1em}.feedback--response__visible{display:block}</style><div
 class=d-print-none><h2 class=feedback--title>Feedback</h2><p 
class=feedback--question>Was this page helpful?</p><button class="btn 
btn-primary mb-4 feedback--answer feedback--answer-yes">Yes</button>
-<button class="btn btn-primary mb-4 feedback--answer 
feedback--answer-no">No</button><p class="feedback--response 
feedback--response-yes">Glad to hear it! Please <a 
href=https://github.com/apache/dubbo-website/issues/new>tell us how we can 
improve</a>.</p><p class="feedback--response feedback--response-no">Sorry to 
hear that. Please <a 
href=https://github.com/apache/dubbo-website/issues/new>tell us how we can 
improve</a>.</p></div><script>const yesButton=document.querySelector(".feedback 
[...]
+<button class="btn btn-primary mb-4 feedback--answer 
feedback--answer-no">No</button><p class="feedback--response 
feedback--response-yes">Glad to hear it! Please <a 
href=https://github.com/apache/dubbo-website/issues/new>tell us how we can 
improve</a>.</p><p class="feedback--response feedback--response-no">Sorry to 
hear that. Please <a 
href=https://github.com/apache/dubbo-website/issues/new>tell us how we can 
improve</a>.</p></div><script>const yesButton=document.querySelector(".feedback 
[...]
 <script src=/js/bootstrap.min.js 
integrity=sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy
 crossorigin=anonymous></script>
 <script 
src=/js/main.min.9f304eb79b67eb331e2b22923c361575b563af25c0fd56279cf20f3a2417cff4.js
 integrity="sha256-nzBOt5tn6zMeKyKSPDYVdbVjryXA/VYnnPIPOiQXz/Q=" 
crossorigin=anonymous></script>
 <script src=https://cdn.jsdelivr.net/npm/@docsearch/js@3></script>
diff --git a/zh/sitemap.xml b/zh/sitemap.xml
index f535b09fe6..628a3b60f6 100644
--- a/zh/sitemap.xml
+++ b/zh/sitemap.xml
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>https://dubbo.apache.org/zh/docs3-v2/java-sdk/faq/0/</loc><lastmod>2022-08-01T10:49:31+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link
 rel="alternate" hreflang="en" 
href="https://dubbo.apache.org/en/docs3-v2/java-sdk/faq/0/"/><xhtml:link 
rel="alternate" hreflang="zh" href="https://dubbo.a [...]
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset 
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml";><url><loc>https://dubbo.apache.org/zh/docs3-v2/java-sdk/faq/0/</loc><lastmod>2022-08-01T10:49:31+08:00</lastmod><changefreq>monthly</changefreq><priority>0.5</priority><xhtml:link
 rel="alternate" hreflang="en" 
href="https://dubbo.apache.org/en/docs3-v2/java-sdk/faq/0/"/><xhtml:link 
rel="alternate" hreflang="zh" href="https://dubbo.a [...]
\ No newline at end of file

Reply via email to