`ZOw0%Fs3IM9@x<3LiD&Ljjb_7ALLQrmujlSu+p$3FPWBEJ0t
z7gGx;sz99SAGnx=rq2@sYkcsR#Sp|6o1P;KHu}L|7KO2~i#rnjKb@lIq4+uonT)DGn+OcprgFuCBQ
z(Du%BrjsCd`;{ka&a3csJ`?ijW6XdshwM-h*<=ens`B%aOX(xe|
zOpdv*bkczj(;w(EZrvWx$z;yVxO6&L`Gy`8nq%!^e4km%=N4GOw#uR^yCZxHG=@p8Q!}N>*
z*3Rktdzif7;@f-nFbTsg2V3GWU1%SM`8NBRKEX7JPyWzhIKANj(_O{|(-TiJxldnu
z5Wzlm2*G}T7{L}fieOtFL$KqHBiPL+K_Cz%}KZh{6#!#O6CX{VX4!5pD6z2O{_
z#dL==OqWoEET`9=Wx5C#+TL)Ei3@HPSd;4Xhv%6d!Bv3FQJpSzk?9Fc2;#qhOCYyE
z{8xGz!Jc&m!QOur!G3ZL!REXHV~0(*y~*?*W-`<-^KUb$PPf_5#6A6YKP%_-{##7<
zU@A1W&%ezihU8$dTAsU1zu+pSgN0)6F}*_*T6CZ31560whbIqU?r@*Z`3S+*dyHTQ
zKLN3~8$M-HVT8nI>hyCO%v{sel~@$F@7H3(D^>K^6-6p=OnmoRg0zu?Sl265P}Bg_iZ4ZNY|
za4loj0P)18|MP~L!?m6{eEWGH=C?>@Y|v)r-Yyrw%mN8Yu4T;p(?2k=2u$}5MHqw#
z%I!vB%;ub6&w;J;PGA0kwti7*B0nZqIB`8AQ51Kmosbc9Zb
zmD3-{v#L!$f0mhVyG#c20~WBw2sf(cqH91zw|E}&6Lj?|#pvp%FK}iyn65dURdBm{
z3G-E?fC0yPTsgA|QsC~XL+IC-zNd~^YZ%$_w*zUm3Xu&jnT@&+Mm~(xn
zulvZ%y?t#na~iszZ8{M~Lj9azz+$jnuZ#I9x@$^%neU>DZJEH#hHmELsTgL$!jWtH
z)oGX-SmvN>0EgqckIekj_s?YI-X5#NXu-7Ic0Thlxc$&%qO%CA*7H8hJlo|LGd~2Y
z-_Es+xeqBEtJX1#O~0`g7IL6eQ?(9a&UUW#%%Mn1JGVi^r-RdT=Qd`s>EYX98bPTE
zoPdpYFy8^&1X30=y?!<;-}dI+%)aoHx(pl@T}PSM!5DVa8;(KD+5YPovm-ND9GtEG
zeq-X^KKB&!Ex3ukkTiSqEM^jXbP3@;Nc@3=&L33bT)E6F2zPtr5Yff*z~)1
zAx;1}TVs0tJ(z;^%;C$^?lYrDZ2uFOf@RDI%eI$2WmZL3dgK*0rQmcpoogN||91Oo
zP?Y|C%e)ZoO=y%J|A0;F_H`ebCD3ho{|#N~bWrM@{&gO!z;^F;kPVu@m=~bi@aYe_
zHgKRB$TM?qfAW|4Gitt_28$Yqmmyhp%Y0VB?GBScHdwQ;_~Uc-bnwx_DF@ImVDDiaos
z?Mqc*+*c7S9@AOXSwQW+LK7ClX-A*VboYMzS@*fJG9{LrBX{KQx7<4NcAT{V!QKwr`xu;>ib*k@~@+F#XOF
z7P0A8OIQjZVyAwvXn@3^nqgeA>8qB)lvw>@35S@~ybRT>bz51)rt@rtDFka?w-x3P
z7*}k1%{G`4gju26QO#;N#v(TT-cguBu;zwiC}x3`_#KBS0hzU3{sc<^viD|QL(wwx
z8jINU^y@G!U{g77z?6VZ_;7>857`8T7c64a>z<=%QFsB<0yY7xKBU>s2hzKq4NLFqB{NbZ|;7cbK}9^*Q6x?F$)Ml|V{9GP8zFmttnU#<+C*M`l)C
zxL7GGNDMSI6h3`18<>63hRGUKkEm_G&Ca@;8!|g3K7E}qD`*%LJW~}f!U`G&g|YRg
zyNR-bM(w}?=S2~c;4#t#&dh4tFNm?`fJRUhJXpb_1JmW?S;eN;$RYHBhY{uESwW+H
zV1q!Kw?B|)Z37KGDR{7IOz&4k$b!>)nHp;%Om>#1u_i-hLE}ka4}m16
z>wAJ?1~f1uzFp6Yl?N0R;1LoBFILs*6TMmQK*nVZr-KEK_^{qY5%}VZCJ-IK$~)cA
zpY<||vgiQT2j~L4)8_}GDLWa&`WRE0KnP43I5ABZP-GOI9v;ei1ELfXfomgJRj1d5
zv0h?ax;-$QRSW8ou<4f~Sg%7ALUb!EViMRc6~zi3p$rUX1&MM`f1k|C%eZLz-(*&K
z#zoTuQ&>gV%nS^sWP#bDtmZJLq#wlRgDd7n(p*~R8}>v_|m-0!qQZboOdd#
zt^i0bOGX#E@}Ng+`h^ZwmFa6zSvlB1i!yrDK?2G=E{-9NQ^0e}5D|3_C{GV0ug5$k
zYr*vWX{;vft`VLga87WzV*r$61u@PHq+EZxUOFo$H^}@fdp(fV({HDyj<=G!pMS!@PSW3mk4tQa_J
zJ)Biy2ve7C1Y;e9v;2)=Vt3&zWmA|~5S(@0v>qnNW(H#=z*)TJFtKzvYag5?Y5|jV
zfwNA+SwG;c2uql{b~tMrj8&f{UxI}%mlG)?P1c>;jDLXma79y_7j}t;|LR53}^j?v3iWAA6(3;
zH$6d_g%y+x?q{=_GcK5ZKbzH9*&`g1c(cl!U?wbrv(AE9({poJwINAXb-LjSR+;I$
za#*>M1q6#r@(bdVGE0gfhV>|c)o~Ui7G;)Hf>OO~E;ykY@>x|NN|dHgSj{TQV`Y_+nv+_RS_E>Ye?F@gBrh_$fmBc5n9nLbeSSWxAmaiM
zTZeJM^n3ZNT1*R=ruVO5m6-0nj+GbYQibUc*RYCB_bq^VPYog1?(i_auW?;xV=L2RkFl1f!g|d1C;I6Q;0xk6lnUb||x_%+6BICm8frYG6
z#-Q1m9zIl6Q^2dsdPGn~t*nYG^OC1zEuB8EkX3_m>GTW5tYXve7P9g&E}j0SkX4Rx
z>2&TQR!PRC)6bW%icXi`!OFo5QhvUKRdRY<5i4j4^nD4d*!1cmR$ex+#fsAp?qC&}
zZoZS17p7Ev`huOTY+#;ZF{|iw{#~pB98ed@PyblRDmuM(7dVM5ovv8Sst&PEl07-M
zv;u0I==28%SXriT*v-lUHV5n+kPuI1ZfYjntP2NNMfh^_Q%ZAEAUx`^1z%TK3#Aht2o$rgyMRL;t3_JigIB8iJ}K#QEG8&
z3CN=JC9Lv{OQ*jtVO3^Y$~67qHdfK;2?toESwPMMaYaC$kbzkT_PK~~QDRDFetdCB
zVhPB#pkyXL9psJaXAiP+gB_z-%qlrur<9e09hCM!HhnB*)r5t%;vrTU&ZNY=lwzw*6>X4JIu-rvr8Ei$|BSM9cJYR8#%9xRZAS~9h7tu;tDeTei^G2YsxmH}E>OX$$GCL5eFdwM4A@Fxq)-k?Ey~TzOUwbet+s+y
zk#Xtt`4y}RwjhOB#{Mu<1whFK5|CC_o_?Tu9HgR02wB|2)zQT@2xQWq3RWp;Oa*TK
z{vi+rhLx;RreFp9NR9!mr-XQ@2RS8xgsrSH^D@CHp`j9-bs8#JCD=<6lQTf}?W<%}
zmIoUrhGv|VRe4b+IQFMif%VB(v8qBsPH0O0g&8%hB5VermfOWw8gsSZQ$9Q8;UD5KNXQ7{eeRg%GH-dW4emb8{2(QsRqJi%WA#tgQUKL6I$6$12UZbh>37tDFGH;H*rz
z4$L9;q(trSS=VAPSOQ^x2`lUL(xl)
zdCF=Cnpl6zs?WG|I^Q!^W5%V^ou09pGA^B7@r+fIaq09$&seQNN}jP+GcKAQ^_;bp
zanbY#&skf+P5&&>=^tOP#!Wx@f>nue(eyVjVB(Sx@vARcl^_bGAp+5_zzXYLu_p6^
z`v>xo3=C~kdW@zAim?e#uM1$~nLhswE6?Y`(|5gQje%ICK7IddR|P>KAXU>);+!gS<7CFFmBCH#NEBnl#@uh(N!ntuKlE4L8Xk42DJyaS1&
zH@{eYAz@fLJ@GHA+Vs@lurMr#2yBK6R6+z8|G-pKLj?Tc0<{oKqo|?5H8RS5!eqG=!FRI{s-G+@E>eN9fUgbA7;~3
zu&Sx9Y}$+qrWUgKGA@|9A4E>)Wn_bTdoEbX^fpE|Xxf_(5x4>uSO^hNVuGny3=t@R
z3oL~Q>|Q!Bj0X%%-&vRo|Fl=B%H7@jt8jbXOKOMMxBEgs7Or0#mUW
zBJcn%uoWbrK3$)cO_6cI^gvdy74uoyd?9hW8xpq5KaGkqc#o8I(v
zxWGA(fd2G-oL~n&;A9Jhn0N^yp2YL|_YC;15KASrBZ6njo7tq?}-gn!b>qO>+7HK{l@G)q-rQj0>hO6a*#R
z>1PGmOeMg%mn{lh5L+5N)Q2Ih(J7CKoladSAjm;!J
z9@M-8jXbD86u$v01_``{R3jhY0w2KwJqn<@O$OeH5EN(gVq7{sMx4zHV!F=sL~%Cd
z>F34Slpq3n5CJI(HYLWT(`_YS3XLG*8zf)~O&|ilAqwRrVG1oE;u9rd3aualcO=0k
z{)a2HgNPSN!4x_`1oldS6+V!Hndkx$50-{0bb|=YlLjk1C=K=#j|@z`4@A0N2BzL`
zx}Xf3%JkDRY@mL`Te!j?h{6O}n8FZ{fXehWvS5YhWML*ofW(!jJIcWnMnMF6xNz^%{{NK*L%N*Q2*uMyJ?rP*Yr&sSz+o35t>
z)*q+@wr`FS%)aXB3zgVZrVA*uDMHMxg$P6|gM+448K$riB(6ODgEGuv%@6@=6|li^
zDr}&xeVYoKz7W{mii7CYU!L
zLWygEdHq^!p%9Z-f`V0gdVn??$8=t8u<-`kFu$%vl3c6}^YD5k(RUCnf;!;fjM0I`
z%GT-c_1VD2vQ7V|!^S;*s}4;2c2p@)$4y6<4b(@A)nzk;cxW%gLky9iF39u+x-bVF
zfLMJ%myKh(upZ3BLr9`=dSE{^>VczSr5>9x#KaR26Imc8zSCn1hWP(9$Td3Ci}hiK
zorMS-*9V*PN}ny5ap`nB1DN{D(+zdmq^I|LvhhK?Fj-eY1(qUYnqcYl_Xcd*j7z6W
z8-gi!LpCjlMR%ts>aa<3B*mwLW(k%~pJm8q3US&)h|@SAPJ3v`mJHGHWcoTIHk;{f
zMqrn$G-69;TsocC7)%u!!&JS2s1h>)tFkl!OV5Q+jHYb%j7z6GnzB_gE}g#Hl&unC
z@{j2UOxc2__n3k8tT%&+|AB}%n8O0&A4K4nIar~r1zRQiQc&s36g~Z*DO=$5cNSm?
zK})a&-Ii?O5P1%;yuox{Yc|E{R#sp|u~snMJP285(2R^VTR6mB0@Ej0vKdUjXARcC
zXu}2?FEOxT3+4seDi#f@*m{(vf7D_Voo?&M1{r+YY6Gh}q^9q(VN;)OV9TZiafeLw
zbVWlpDIVx(8F(;Zdc7?hsC%~Amd!`yHWOsy9B8ZNge(xRZA#W16u~>wmF?IbNy-bo
zFx~>%aR=__fGbe2qZUk$cVWwz-e%9nCn+!VOg$a9ngDG!RwccP+?*-kJ+?R%+c>b*
z<1x#|fh`l{does}9HZDmrcZEy^#t!bvWenR9q+=HrJ5X{itM(Gk61nO(2Ff(`UfXA
zO^|Uo)HJ$6)W|585MknKH@4L2dvw{jr<=O43F0v}-i56Uk94CeTRNm+6z|H$iC0Y};dDn|HlOML-PnYtSGloCfXu_LVftz}wnjYC0*P!P5OezY
z*aWBVafdh#hhb*lGy|av4031*hNfW|PBXG1!F)er%G{8+_P!iBYI#ZeVVJoc?fx
zINW44b29@J4R2VmC6MWHery@j`3>1vr(625@qnCyTVW+0=?{Kv1$d-ayRn5#KkLt?
zi$@JOZJqUJlbL?+H7h$x*@DAO>q6KPrpGd|2~3v>1V`X=-9D_obO>cjm_9EMoFj3m
z>5gDaoUR$fCa5ScghLHHJ26JEMNZ!m#3n0=Q|)wc;Sn(hd;B7D-pP}i14vVjVT=Qvzq8P8TQ
zef|el>?|;G~1ALUfE`>%dcAI!3Y8Opl9Z<59#}r@~W>V?0~NbcI)}DD@^Td!=I7
zTJYE#7t2;LUEl>P?{u43yzY;SW$VLZj#La=!SvENHW4D-ubvWLf>O8Qa=&FfTN568
z!QsE(f{k;!ZvtNTJ4Ue;OuwH1uC#F3C6LJ0fX6Oy;qx~UT=?KJ0<30w5}U3vfp{z}
HP0|AZcT=+e
delta 17600
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
diff --git a/esp_websocket_client/.buildinfo b/esp_websocket_client/.buildinfo
index 01aeda09a..7e1e73283 100644
--- a/esp_websocket_client/.buildinfo
+++ b/esp_websocket_client/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 6b5d04138319cf30632fcb0034285227
+config: ad317e982af0c52b41cf4956f154d959
tags: 549b3d6d0415232fb7e35403b330ff49
diff --git a/esp_websocket_client/genindex.html b/esp_websocket_client/genindex.html
index ae2ca9ab8..1d78f7856 100644
--- a/esp_websocket_client/genindex.html
+++ b/esp_websocket_client/genindex.html
@@ -89,7 +89,7 @@
»
Index
- Edit on GitHub
+ Edit on GitHub
@@ -179,8 +179,6 @@
esp_websocket_client_config_t::user_agent (C++ member)
-
- |
+
- esp_websocket_client_is_connected (C++ function)
- esp_websocket_client_send_bin (C++ function)
@@ -202,6 +202,8 @@
- esp_websocket_client_send_text (C++ function)
- esp_websocket_client_send_with_opcode (C++ function)
+
+ - esp_websocket_client_set_headers (C++ function)
- esp_websocket_client_set_ping_interval_sec (C++ function)
@@ -210,6 +212,28 @@
- esp_websocket_client_start (C++ function)
- esp_websocket_client_stop (C++ function)
+
+ - esp_websocket_error_codes_t (C++ struct)
+
+ - esp_websocket_error_codes_t::esp_tls_cert_verify_flags (C++ member)
+
+ - esp_websocket_error_codes_t::esp_tls_last_esp_err (C++ member)
+
+ - esp_websocket_error_codes_t::esp_tls_stack_err (C++ member)
+
+ - esp_websocket_error_codes_t::esp_transport_sock_errno (C++ member)
+
+ - esp_websocket_error_codes_t::esp_ws_handshake_status_code (C++ member)
+
+ - esp_websocket_error_type_t (C++ enum)
+
+ - esp_websocket_error_type_t::WEBSOCKET_ERROR_TYPE_HANDSHAKE (C++ enumerator)
+
+ - esp_websocket_error_type_t::WEBSOCKET_ERROR_TYPE_NONE (C++ enumerator)
+
+ - esp_websocket_error_type_t::WEBSOCKET_ERROR_TYPE_PONG_TIMEOUT (C++ enumerator)
+
+ - esp_websocket_error_type_t::WEBSOCKET_ERROR_TYPE_TCP_TRANSPORT (C++ enumerator)
- esp_websocket_event_data_t (C++ struct)
@@ -218,6 +242,8 @@
- esp_websocket_event_data_t::data_len (C++ member)
- esp_websocket_event_data_t::data_ptr (C++ member)
+
+ - esp_websocket_event_data_t::error_handle (C++ member)
- esp_websocket_event_data_t::fin (C++ member)
@@ -232,6 +258,8 @@
- esp_websocket_event_id_t (C++ enum)
- esp_websocket_event_id_t::WEBSOCKET_EVENT_ANY (C++ enumerator)
+
+ - esp_websocket_event_id_t::WEBSOCKET_EVENT_BEFORE_CONNECT (C++ enumerator)
- esp_websocket_event_id_t::WEBSOCKET_EVENT_CLOSED (C++ enumerator)
diff --git a/esp_websocket_client/index.html b/esp_websocket_client/index.html
index de809a34b..cabea7914 100644
--- a/esp_websocket_client/index.html
+++ b/esp_websocket_client/index.html
@@ -117,7 +117,7 @@
- »
- ESP WebSocket Client
-
- Edit on GitHub
+ Edit on GitHub
@@ -234,7 +234,7 @@ In case a host operating system has openssl and sed pa
Application Example
-A simple WebSocket example that uses esp_websocket_client to establish a websocket connection and send/receive data with the websocket.org server can be found here: example .
+A simple WebSocket example that uses esp_websocket_client to establish a websocket connection and send/receive data with the websocket.org server can be found here: example .
Sending Text Data
The WebSocket client supports sending data as a text data frame, which informs the application layer that the payload data is text data encoded as UTF-8. Example:
@@ -248,7 +248,7 @@ In case a host operating system has openssl and sed pa
@@ -288,6 +288,26 @@ In case a host operating system has openssl and sed pa
+
+-
+esp_err_t esp_websocket_client_set_headers(esp_websocket_client_handle_t client, const char *headers)
+Set additional websocket headers for the client, when performing this behavior, the headers will replace the old ones.
+
+- Parameters
+-
+
+- Pre
+Must stop the WebSocket client before set headers if the client has been connected
+
+- Returns
+esp_err_t
+
+
+
+
-
esp_err_t esp_websocket_client_start(esp_websocket_client_handle_t client)
@@ -551,6 +571,45 @@ In case a host operating system has openssl and sed pa
Structures
+
+-
+struct esp_websocket_error_codes_t
+Websocket error code structure to be passed as a contextual information into ERROR event.
+
+ Public Members
+
+-
+esp_err_t esp_tls_last_esp_err
+last esp_err code reported from esp-tls component
+
+
+
+-
+int esp_tls_stack_err
+tls specific error code reported from underlying tls stack
+
+
+
+-
+int esp_tls_cert_verify_flags
+tls flags reported from underlying tls stack during certificate verification
+
+
+
+-
+int esp_ws_handshake_status_code
+http status code of the websocket upgrade handshake
+
+
+
+-
+int esp_transport_sock_errno
+errno from the underlying socket
+
+
+
+
+
-
struct esp_websocket_event_data_t
@@ -605,6 +664,12 @@ In case a host operating system has openssl and sed pa
Actual offset for the data associated with this event
+
+-
+esp_websocket_error_codes_t error_handle
+esp-websocket error handle including esp-tls errors as well as internal websocket errors
+
+
@@ -878,6 +943,12 @@ In case a host operating system has openssl and sed pa
The connection has been closed cleanly
+
+-
+enumerator WEBSOCKET_EVENT_BEFORE_CONNECT
+The event occurs before connecting
+
+
-
enumerator WEBSOCKET_EVENT_MAX
@@ -885,6 +956,33 @@ In case a host operating system has openssl and sed pa
+
+-
+enum esp_websocket_error_type_t
+Websocket connection error codes propagated via ERROR event.
+Values:
+
+-
+enumerator WEBSOCKET_ERROR_TYPE_NONE
+
+
+
+-
+enumerator WEBSOCKET_ERROR_TYPE_TCP_TRANSPORT
+
+
+
+-
+enumerator WEBSOCKET_ERROR_TYPE_PONG_TIMEOUT
+
+
+
+-
+enumerator WEBSOCKET_ERROR_TYPE_HANDSHAKE
+
+
+
+
-
enum esp_websocket_transport_t
diff --git a/esp_websocket_client/objects.inv b/esp_websocket_client/objects.inv
index 6f0a9f5a45e44daad7b9c1ed2454b911df657af6..d681213a2331363eecf496d124a14034b308c7b9 100644
GIT binary patch
delta 3713
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
b;fAPISAvPF$Pu>iP!mlaD6$J-xhWcjP%P
zhh&S3%H|77gwHb88l2UPYUf
z$ZBdG?QwB3ZmDx9s$U}eST{Lq`K}MF?00Mx^A_cZPuy~mE#=?>kCc@=H%@GO@WFsz
z+;|iBq!rU|$ZOA@cUQ_~;ge4SGLdF#_up)HDa{tmTF#;`rlg)1ESDnJvdA;iStCDY
z*)zZS4f^RTOB_F+V|%EDEn^6K>U2TVHCbtj$t
z_sjN>#lZxfo0I0IJWpg2sy+Ae-TPaU?B@M>{pauPa&_^=llS}i>AU6o{V$%f>~iv~
zJ9jVXT)FzDL%vsi=D&Z>Lu;!)_g}odd9(kk5RF;>?(;RztuFEX+EH(Jafw{-=M~TX
zJuW^md2xK4?cP7%zJGtNzWOyHw{hpuSFNATO2wm3ApYM16{Jr`e5_|u@escK5
zpFiLIrc_PcG_Un!P1M;}S6yrQ_D!t+^XTo(eBaAF|)awtDVUyuq+rV)^TC{op@)0*`$B_-MPR
zVS1ui-v0TEs%pHi-sM-x{8AYc-y1ab_IICIdIq|Oj-|i9RKZ?)JNMc5X}?M=>q8b=
zUU^u*T%gK%@_eV~VgG6q)?QuGqwmh0`%>-9^X%ll`nzleH8StL7T(OT`}h9Pnf#Y#
zm$-i(%|G(!kKi>=>tdypWlIg;_`RNH5v#ep#F|63U{`=$%z=)3uYYr7TR&r*HuJT5
z#a+>u%hUHgc_V!#Y>%@~%-Tbx507&l-CaGOuT=I@XnZ~AH_0S+(MlWsjgkf7;fp07
z9%~7TR~AXKeIr)2?D5H`TV}=d6)=|n=9;Acpe&%oRq=Apz2L^$hL=teXMg84WEofm
z^q$TT%KLq+*KHI=rV`jkLowH*5<+@g0%#F`~{LV6kT{ifNhs4z1Y5!FH)KBfo
ze-O^=Ca%@8Z~bngS;4Pzzn>SdUbTb&!0EX!^<6fUE{NR{viG&_)r67-zh*JF8y6kC
z)>wAIXuq7lxMy!_QCYd^>>)%Lnxt9q07M(mWkM_;a4wL0W0pX;A`!7%n`R%h0?
zpJ@H39T0x$WljvQ(=CQl)wzpp_PmSDuWx>JXtzzq8{3Ln=2O+{r&h-_UYU13SVMAwY&a7
zl<)4nT#42Xx111u^!d+4Zu4%#&u-iHI`4hr_SNsz_L4dB)mqUNH~VcTzSH}ed_K9i
z{m+`z3=By&<xR!_#RBb5AV$y2f78;ns;$JFYKLIkr78
zn7)GvE@+E=vb{@O=>1Ovj)tr9tMIBrXp=<43e)yLgtS47W~to^<0
z$?I^T?7yLV?-_jg@#FEqeTQGIOS~VSk-PAT!u`C`>zmK7-?c5E@WA`MyH?+NKRw}Y
z>6`b`8?Q1N?~*wm*ro4wZoA#DdZT@7-``f)zH{@B+K< &v%lvk&!mkKX_P
z+c-O(?`Qpt!y0Gw>ia5fepwY3-@3Nmyth`Sbl>6ci*~=TIdT(2?xN>fPzSEM~i{rye_U18%83lb%xqhqx#N#HI#;CPbLxBUalB=|FBxH+8hVLQyYYXIs7UUlh>A-S
zTUE-~&nXqlS#D?Ii{YBwH$5Rj;p|dl+Xl_ahxI->G)ZcQYIV(enlZzs*qT{7ddXSF
z)1A`-MPy?<6{BbOewxvAM^@tUS3_Y--AXTg+yK=m@@E!}XT$O=>}7m)ddTl`1}c
zeiQ1yoU@w#_FWjGvB91Sznkg(d2Tz>a(fC^O?mS8op+*a|BUT=PKC-zWoJ^J3C9E!
zNn75QE=UN$Xmm5_9EIdnza!bVu2^
z%-86X(N38}sdHRwoiyiEXYM#vo${^E!)3Z>7K>~B=}pBx5vN-tL(0kbu8!j`hLBqz@fCJE9K$Vt9S>rge(K*)Q)L?|fu9{6x`Ewepl!rQ}-eTcWEi
z&!?6@c(b?U%+mUtxf`q|@h%aN7Tw8`u-~}ABik!%@cicf}ntvBRz507!_V2Yn
zKVIFQ|5R(OlI+|$^JQz7RMhGJfAMzjukh`mam==VKb`(`Ea{DW=)T?;j{15ry_Z+_%)7hvS8HqhzAs&61(zR{9yy?9v_9Ce
zMzfPkUiuwNk=n(@+FP0TtYp;%ohtpl~1dtT=~!T
zPffU7(dc|^@!6#dGn_aiUv^8TShQK)o~V>3qQ5ewt59Q>NM)Isn4GA%f(k0cBQpQ5R-#qMI&S%|&poyhN`av4ynx#__i~kLP>HKbMK-QiBqNPHa$2Safw-%S+aP
z;>LNo8s5%KSiH^Cy?xP<&^!Dpt)ve_@QwDHfAUT~2}b0u0w#Zacn0B%rIHaklf@-bV9R
zK~p&9nID}ZcCzB+gl7{RZzg2&iYh;<6*!l=l$a|qFO=NBT&XgcwZO??uE!yT
z#fr&h;S;PhCp>OW^?%Ie9XI3I3%>~hzP4|c7W7_S$T+E<`C>%ort@0ACm2=DpTJb!
zA~I$6+rq*XH*YKv-R_o=+g-xAcD3NV*D~*;r%kKdVBH%$FJP(WYr!dNyN{-%bES!P
z=bPndNJWHPRtm`Kl9?DI%S+KbMg2)N=xyqD#=jx7>s
zdG0aQg~j5O<7~@Qnv%RxcNhLy7NO!BS)%xOt1!>k95YEysf$vKrPEdRRys%x6P=zM$vxG4rg_5DDW)xd9vYouU(E9AkIq!R7kxJrWK^R*8Cp)c
y-6Yy)#eGg@^0Z6Yhv&+*ES}JyF204^(9}Qb#G*}?SF{B*+?@93yS »
- Index
-
- Edit on GitHub
+ Edit on GitHub
diff --git a/mdns/en/index.html b/mdns/en/index.html
index 6e4d186ae..09b8ec8b4 100644
--- a/mdns/en/index.html
+++ b/mdns/en/index.html
@@ -114,7 +114,7 @@
- »
- mDNS Service
-
- Edit on GitHub
+ Edit on GitHub
@@ -317,14 +317,14 @@
Application Example
-mDNS server/scanner example: .
+mDNS server/scanner example: .
API Reference
diff --git a/mdns/zh_CN/.buildinfo b/mdns/zh_CN/.buildinfo
index 448ce385f..cb286d287 100644
--- a/mdns/zh_CN/.buildinfo
+++ b/mdns/zh_CN/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 2d59ef2a66c5f14dcfebf1fd71b1be44
+config: 607d945fca710b76c54a776698df2a21
tags: 549b3d6d0415232fb7e35403b330ff49
diff --git a/mdns/zh_CN/genindex.html b/mdns/zh_CN/genindex.html
index 525ebe412..25b05c888 100644
--- a/mdns/zh_CN/genindex.html
+++ b/mdns/zh_CN/genindex.html
@@ -90,7 +90,7 @@
»
索引
- 在 GitHub 上修改
+ 在 GitHub 上修改
diff --git a/mdns/zh_CN/index.html b/mdns/zh_CN/index.html
index 3978e3fd2..dbc7534dd 100644
--- a/mdns/zh_CN/index.html
+++ b/mdns/zh_CN/index.html
@@ -112,7 +112,7 @@
»
mDNS 服务
- 在 GitHub 上修改
+ 在 GitHub 上修改
@@ -296,14 +296,14 @@
应用示例
-有关 mDNS 服务器和查询器的应用示例请参考 。
+有关 mDNS 服务器和查询器的应用示例请参考 。
|