'\" t .\" Title: mosquitto_sub .\" Author: [see the "Author" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/03/2026 .\" Manual: Commands .\" Source: Mosquitto Project .\" Language: Persian .\" .TH "MOSQUITTO_SUB" "1" "04/03/2026" "Mosquitto Project" "Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" mosquitto_sub \- کلاینت پروتکل MQTT نسخه‌های ۵، ۳.۱.۱ و ۳.۱ برای اشتراک در موضوعات .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBmosquitto_sub\fR\ 'u \fBmosquitto_sub\fR [options] {\fB\-t\fR\ \fImessage\-topic\fR... | \fB\-U\fR\ \fIunsubscribe\-topic\fR...} .HP \w'\fBoptions:\fR\ 'u \fBoptions:\fR .br [auth\-options] [connection\-options] [misc\-options] [mqtt\-options] [output\-options] [tls\-certificate\-options | tls\-psk\-options] .HP \w'\fBauth\-options:\fR\ 'u \fBauth\-options:\fR .br [\fB\-u\fR\ \fIusername\fR] [\fB\-P\fR\ \fIpassword\fR] .HP \w'\fBconnection\-options:\fR\ 'u \fBconnection\-options:\fR .br {[\fB\-h\fR\ \fIhostname\fR]\ [\fB\-\-unix\fR\ \fIsocket\ path\fR]\ [\fB\-p\fR\ \fIport\-number\fR] | \fB\-L\fR\ \fIURL\fR } .br [\fB\-A\fR\ \fIbind\-address\fR] [\fB\-\-nodelay\fR] [\fB\-S\fR] [\fB\-\-ws\fR] [\fB\-\-proxy\fR\ \fIsocks\-url\fR] .HP \w'\fBmisc\-options:\fR\ 'u \fBmisc\-options:\fR .br [\fB\-E\fR] [\fB\-o\fR\ \fIconfig\-file\fR] [\fB\-W\fR\ \fImessage\-processing\-timeout\fR] .HP \w'\fBmqtt\-options:\fR\ 'u \fBmqtt\-options:\fR .br [\fB\-c\fR] [\fB\-D\fR\ \fIcommand\fR\ \fIidentifier\fR\ \fIvalue\fR] [\fB\-i\fR\ \fIclient\-id\fR] [\fB\-I\fR\ \fIclient\-id\-prefix\fR] [\fB\-k\fR\ \fIkeepalive\-time\fR] [\fB\-q\fR\ \fImessage\-QoS\fR] [\fB\-\-retain\-as\-published\fR] [\fB\-\-retain\-handling\fR\ always\ |\ new\ |\ never] [\fB\-V\fR\ \fIprotocol\-version\fR] [\fB\-x\fR\ \fIsession\-expiry\-interval\fR] .br [\fB\-\-will\-topic\fR\ \fItopic\fR\ [\fB\-\-will\-payload\fR\ \fIpayload\fR]\ [\fB\-\-will\-qos\fR\ \fIqos\fR]\ [\fB\-\-will\-retain\fR]] .HP \w'\fBoutput\-options:\fR\ 'u \fBoutput\-options:\fR .br [\fB\-d\fR] [\fB\-C\fR\ \fImsg\-count\fR] [\fB\-\-message\-rate\fR] [\fB\-N\fR] [\fB\-\-pretty\fR] [\fB\-\-random\-filter\fR\ \fIchance\fR] [\fB\-\-remove\-retained\fR] [\fB\-R\fR | \fB\-\-retained\-only\fR] [\fB\-\-quiet\fR] [\fB\-T\fR\ \fIfilter\-out\fR...] [\fB\-v\fR] [\fB\-w\fR | \fB\-\-watch\fR] .HP \w'\fBtls\-certificate\-options:\fR\ 'u \fBtls\-certificate\-options:\fR .br [\fB\-\-no\-tls\fR] .br {\fB\-\-cafile\fR\ \fIfile\fR | \fB\-\-capath\fR\ \fIdir\fR} .br [\fB\-\-tls\-use\-os\-certs\fR] .br [\fB\-\-cert\fR\ \fIfile\fR] [\fB\-\-key\fR\ \fIfile\fR] .br [\fB\-\-ciphers\fR\ \fIciphers\fR] [\fB\-\-insecure\fR] [\fB\-\-tls\-alpn\fR\ \fIprotocol\fR] [\fB\-\-tls\-keylog\fR\ \fIfile\fR] [\fB\-\-tls\-version\fR\ \fIversion\fR] .br [\fB\-\-tls\-engine\fR\ \fIengine\fR] [\fB\-\-keyform\fR\ {\fIpem\fR\ |\ \fIengine\fR}] [\fB\-\-tls\-engine\-kpass\-sha1\fR\ \fIkpass\-sha1\fR] .br .HP \w'\fBtls\-psk\-options:\fR\ 'u \fBtls\-psk\-options:\fR .br \fB\-\-psk\fR\ \fIhex\-key\fR \fB\-\-psk\-identity\fR\ \fIidentity\fR [\fB\-\-ciphers\fR\ \fIciphers\fR] [\fB\-\-tls\-version\fR\ \fIversion\fR] .HP \w'\fBmosquitto_sub\fR\ 'u \fBmosquitto_sub\fR [\fB\-\-help\fR] .SH "توضیحات (DESCRIPTION)" .PP \fBmosquitto_sub\fR یک کلاینت ساده برای پروتکل MQTT نسخه ۵، ۳.۱.۱ و ۳.۱ است که در موضوعات (topics) مشترک می‌شود و پیام‌های دریافتی را چاپ می‌کند. .PP علاوه بر اشتراک در موضوعات، \fBmosquitto_sub\fR می‌تواند پیام‌های دریافتی را فیلتر کند تا چاپ نشوند (به گزینه \fB\-T\fR مراجعه کنید) یا از موضوعات لغو اشتراک کند (به گزینه \fB\-U\fR مراجعه کنید). لغو اشتراک از موضوعات برای کلاینت‌هایی که با غیرفعال بودن نشست تمیز (clean session) متصل می‌شوند کاربرد دارد. .SH "اتصالات رمزنگاری‌شده (ENCRYPTED CONNECTIONS)" .PP این کلاینت از اتصالات رمزنگاری‌شده با TLS پشتیبانی می‌کند. اکیداً توصیه می‌شود برای هرگونه کاربردی فراتر از ساده‌ترین تنظیمات، از یک اتصال رمزنگاری‌شده استفاده کنید. .PP جهت فعال‌سازی اتصالات TLS هنگام استفاده از گواهی‌های x509، می‌توان یکی از گزینه‌های \fB\-\-cafile\fR یا \fB\-\-capath\fR را مشخص کرد. .PP همچنین، در صورتی که از گزینه \fB\-p 8883\fR استفاده شود، گواهی‌های ارائه‌شده توسط سیستم‌عامل بارگذاری خواهند شد و نیازی به هیچ‌یک از گزینه‌های \fB\-\-cafile\fR یا \fB\-\-capath\fR نخواهد بود. .PP برای فعال‌سازی اتصالات TLS در صورت استفاده از TLS\-PSK، باید از گزینه‌های \fB\-\-psk\fR و \fB\-\-psk\-identity\fR استفاده کنید. .SH "گزینه‌ها (OPTIONS)" .PP سه روش برای ارائه گزینه‌ها به mosquitto_sub وجود دارد: فایل پیکربندی پیش‌فرض، یک فایل پیکربندی مشخص‌شده، یا گزینه‌ها در خط فرمان. .SS "فایل پیکربندی پیش‌فرض (Default Config File)" .PP فایل پیکربندی پیش‌فرض در مسیر \fB$XDG_CONFIG_HOME/mosquitto_sub\fR یا \fB$HOME/\&.config/mosquitto_sub\fR در سیستم‌های سازگار با POSIX، یا در مسیر \fB%USERPROFILE%\emosquitto_sub\fR در سیستم‌های ویندوز قرار دارد. .PP محتوای فایل پیکربندی باید شامل گزینه‌ها باشد، هر گزینه در یک خط به صورت: \fB\-option \fR\fB\fIvalue\fR\fR\&. اگر گزینه‌ها در خط فرمان نیز مشخص شوند، آن گزینه‌ها مقادیر تعیین‌شده در فایل پیکربندی را بازنویسی خواهند کرد. استثنای این قاعده گزینه‌های نوع پیام هستند که تنها یکی از آن‌ها می‌تواند مشخص شود. همچنین توجه داشته باشید که در حال حاضر برخی گزینه‌ها را نمی‌توان نفی کرد، مانند \fB\-S\fR\&. گزینه‌های رمزنگاری TLS را می‌توان با گزینه \fB\-\-no\-tls\fR غیرفعال کرد. .PP خطوطی از فایل پیکربندی که با نویسه \fB#\fR شروع می‌شوند به عنوان توضیحات در نظر گرفته شده و پردازش نمی‌شوند. .PP پیشنهاد می‌شود فایل‌های پیکربندی عمدتاً برای اهداف احراز هویت به کار روند. استفاده از فایل پیکربندی امکان احراز هویت را بدون نیاز به نمایش نام کاربری و گذرواژه در خط فرمان فراهم می‌کند. .SS "فایل پیکربندی (Config File)" .PP از نسخه ۲.۱ در دسترس است. .PP یک فایل پیکربندی را می‌توان با گزینه \fB\-o \fR\fB\fIconfig\-file\fR\fR در خط فرمان مشخص کرد. در صورت استفاده از گزینه \fB\-o\fR فایل پیکربندی پیش‌فرض بارگذاری نخواهد شد. .PP قالب آن همانند فایل پیکربندی پیش‌فرض است. .SS "فهرست گزینه‌ها (The options)" .PP \fB\-A\fR .RS 4 اتصال خروجی را به یک نشانی IP یا نام میزبان محلی متصل (bind) می‌کند. در صورتی که نیاز به محدود کردن ارتباطات شبکه به یک رابط خاص دارید از این آرگومان استفاده کنید. .RE .PP \fB\-c\fR, \fB\-\-disable\-clean\-session\fR .RS 4 غیرفعال‌سازی «نشست تمیز» (clean session) / فعال‌سازی حالت کلاینت پایدار. با استفاده از این آرگومان، به کارگزار دستور داده می‌شود که هنگام اتصال کلاینت، نشست‌های موجود برای همان شناسه کلاینت را پاک نکند و با قطع اتصال کلاینت، نشست هرگز منقضی نشود. کلاینت‌های MQTT نسخه ۵ می‌توانند با آرگومان \fB\-x\fR مدت‌زمان انقضای نشست خود را تغییر دهند. .sp هنگامی که یک نشست روی کارگزار پایدار بماند، اشتراک‌های کلاینت پس از قطع اتصال حفظ می‌شوند و پیام‌های بعدی با سطوح کیفیتی QoS 1 و QoS 2 که برسند ذخیره می‌گردند. زمانی که کلاینت دوباره متصل شود و نشست را پاک نکند، تمامی پیام‌های صف‌بندی‌شده را دریافت خواهد کرد. .sp در صورت استفاده از این گزینه، شناسه کلاینت باید به صورت دستی با \fB\-\-id\fR تنظیم شود. .RE .PP \fB\-\-cafile\fR .RS 4 مسیر یک فایل حاوی گواهی‌های مرجع گواهی (CA) معتبر و کدگذاری‌شده با فرمت PEM را مشخص می‌کند. برای فعال‌سازی ارتباط امن SSL/TLS استفاده می‌شود. .sp همچنین ببینید: \fB\-\-capath\fR .RE .PP \fB\-\-capath\fR .RS 4 مسیر دایرکتوری حاوی گواهی‌های مرجع گواهی (CA) معتبر و کدگذاری‌شده با فرمت PEM را مشخص می‌کند. برای فعال‌سازی ارتباط امن SSL/TLS استفاده می‌شود. .sp برای کارکرد صحیح \fB\-\-capath\fR باید پسوند فایل‌های گواهی «.crt» باشد و هر بار که گواهی جدیدی اضافه یا حذف می‌کنید، دستور «openssl rehash » را اجرا نمایید. .sp همچنین ببینید: \fB\-\-cafile\fR .RE .PP \fB\-\-cert\fR .RS 4 مسیر فایل حاوی گواهی کدگذاری‌شده با فرمت PEM برای این کلاینت را مشخص می‌کند (در صورتی که سرور آن را درخواست کند). .sp همچنین ببینید: \fB\-\-key\fR و بخش «اتصالات رمزنگاری‌شده». .RE .PP \fB\-\-ciphers\fR .RS 4 فهرستی از الگوریتم‌های رمزنگاری TLS سازگار با OpenSSL برای پشتیبانی در کلاینت. برای اطلاعات بیشتر به \fBciphers\fR(1) مراجعه کنید. .RE .PP \fB\-C\fR .RS 4 قطع اتصال و خروج فوری از برنامه پس از دریافت تعداد مشخص‌شده پیام. این گزینه مثلاً در اسکریپت‌های شل که در آن‌ها فقط دریافت یک مقدار وضعیت واحد مد نظر است، می‌تواند مفید باشد. .sp برای چاپ تنها اولین دسته از پیام‌های تازه (یعنی پیام‌هایی که پرچم retain برای آن‌ها تنظیم نشده است)، این گزینه را با \fB\-R\fR یا \fB\-\-retain\-handling never\fR ترکیب کنید، یا برای فیلتر کردن موضوعات پردازش‌شده از ترکیب آن با \fB\-T\fR استفاده نمایید. .RE .PP \fB\-d\fR, \fB\-\-debug\fR .RS 4 فعال‌سازی پیام‌های اشکال‌زدایی (debug). .RE .PP \fB\-D\fR, \fB\-\-property\fR .RS 4 تنظیم ویژگی‌های MQTT نسخه ۵ برای این کلاینت. در صورت استفاده از این گزینه، کلاینت به عنوان کلاینت MQTT نسخه ۵ تنظیم خواهد شد. این گزینه دو شکل دارد: .sp \fB\-D command identifier value\fR .sp \fB\-D command identifier name value\fR .sp \fBcommand\fR شناسه دستور یا بسته MQTT است و می‌تواند یکی از مقادیر CONNECT، PUBLISH، PUBACK، PUBREC، PUBCOMP، SUBSCRIBE، UNSUBSCRIBE، DISCONNECT، AUTH یا WILL باشد. ویژگی‌های در دسترس برای هر دستور در بخش ویژگی‌ها فهرست شده‌اند. .sp \fBidentifier\fR نام ویژگی مورد نظر برای افزودن است. این نام مطابق مشخصات استاندارد است، اما خط تیره «\-» به عنوان جداکننده کلمات به کار می‌رود؛ به عنوان مثال: \fBpayload\-format\-indicator\fR\&. جزئیات بیشتر در بخش ویژگی‌ها آمده است. .sp \fBvalue\fR مقدار ویژگی مورد نظر است که نوع داده آن وابسته به همان ویژگی مشخص است. .sp \fBname\fR فقط برای ویژگی \fBuser\-property\fR به عنوان اولین رشته از جفت‌رشته‌ها به کار می‌رود. در این حالت، \fBvalue\fR رشته دوم جفت خواهد بود. .RE .PP \fB\-E\fR .RS 4 در صورت مشخص شدن این گزینه، \fBmosquitto_sub\fR بلافاصله پس از تایید شدن تمام اشتراک‌های آن توسط کارگزار، از برنامه خارج خواهد شد. در ترکیب با \fB\-c\fR این گزینه امکان می‌دهد یک نشست کلاینت پایدار روی کارگزار برای استفاده در آینده آماده‌سازی شود، بدون اینکه نیازی به دریافت پیامی باشد. .RE .PP \fB\-F\fR .RS 4 تعیین قالب چاپ خروجی. این گزینه امکان می‌دهد مشخص کنید چه اطلاعاتی از هر پیام بر روی صفحه نمایش داده شود. برای جزئیات کامل، بخش قالب خروجی (OUTPUT FORMAT) در زیر را مشاهده کنید. .sp این گزینه بر گزینه \fB\-v\fR ارجحیت دارد و آن را بازنویسی می‌کند، اما گزینه \fB\-N\fR را بازنویسی نمی‌کند. .RE .PP \fB\-\-help\fR .RS 4 نمایش اطلاعات راهنمای استفاده از دستور. .RE .PP \fB\-h\fR, \fB\-\-host\fR .RS 4 مشخص کردن میزبان مقصد برای اتصال. مقدار پیش‌فرض localhost است. .RE .PP \fB\-i\fR, \fB\-\-id\fR .RS 4 شناسه‌ای که برای این کلاینت استفاده می‌شود. در صورت مشخص نشدن، شناسه کلاینت با توجه به نسخه MQTT مورد استفاده تولید می‌شود. برای نسخه v3.1.1/v3.1، کلاینت شناسه‌ای با قالب \fBmosq\-XXXXXXXXXXXXXXXXXX\fR تولید می‌کند که در آن \fBX\fR با نویسه‌های الفبایی\-عددی تصادفی جایگزین می‌شود. برای نسخه v5.0، کلاینت شناسه‌ای با طول صفر ارسال می‌کند و سرور شناسه‌ای برای کلاینت تولید خواهد کرد. .RE .PP \fB\-I\fR, \fB\-\-id\-prefix\fR .RS 4 پیشوندی که با افزودن شناسه فرایند (PID) کلاینت به انتهای آن، شناسه کلاینت ساخته می‌شود. این گزینه در شرایطی که کارگزار از گزینه clientid_prefixes استفاده می‌کند کاربرد دارد. نمی‌توان آن را هم‌زمان با آرگومان \fB\-\-id\fR به کار برد. .RE .PP \fB\-\-insecure\fR .RS 4 هنگام استفاده از رمزنگاری مبتنی بر گواهی، این گزینه اعتبارسنجی نام میزبان سرور در گواهی سرور را غیرفعال می‌کند. این ویژگی می‌تواند هنگام آزمایش پیکربندی اولیه سرور مفید باشد، اما این امکان را فراهم می‌کند که شخص ثالث مخرب بتواند از طریق جعل DNS سرور شما را جعل کند. از این گزینه فقط در محیط آزمایش استفاده کنید. اگر مجبور به استفاده از این گزینه در محیط عملیاتی هستید، پیکربندی شما ایراد دارد و استفاده از رمزنگاری بی‌فایده است. .RE .PP \fB\-k\fR, \fB\-\-keepalive\fR .RS 4 تعداد ثانیه‌های بین ارسال دستورات PING به کارگزار به منظور اطلاع‌رسانی اینکه کلاینت هنوز متصل و فعال است. مقدار پیش‌فرض ۶۰ ثانیه است. .RE .PP \fB\-\-key\fR .RS 4 مسیر یک فایل حاوی کلید خصوصی کدگذاری‌شده با فرمت PEM برای این کلاینت جهت انجام احراز هویت دوطرفه TLS با سرور. .sp همچنین ببینید: \fB\-\-cert\fR و بخش «اتصالات رمزنگاری‌شده». .RE .PP \fB\-\-keyform\fR .RS 4 نوع کلید خصوصی مورد استفاده هنگام برقراری اتصالات TLS را مشخص می‌کند. این مقدار می‌تواند «pem» یا «engine» باشد. این پارامتر زمانی مفید است که از ماژول TPM استفاده شده و کلید خصوصی با آن ایجاد شده باشد. مقدار پیش‌فرض «pem» است که به معنای استفاده از فایل‌های کلید خصوصی معمولی است. .sp همچنین ببینید: \fB\-\-tls\-engine\fR\&. .RE .PP \fB\-L\fR, \fB\-\-url\fR .RS 4 مشخص کردن کاربر، گذرواژه، نام میزبان، پورت و موضوع به صورت هم‌زمان در قالب یک نشانی URL. قالب نشانی باید به شکل زیر باشد: mqtt(s)://[username[:password]@]host[:port]/topic یا ws(s)://[username[:password]@]host[:port]/path .sp بسته به طرح نشانی (scheme)، پورت پیش‌فرض مقادیر متفاوتی خواهد داشت: mqtt:// \- 1883، mqtts:// \- 8883، ws:// \- 80، wss:// \- 443. .RE .PP \fB\-\-message\-rate\fR .RS 4 از نسخه ۲.۱ در دسترس است. .sp به جای چاپ پیام‌های دریافتی، تعداد پیام‌های دریافتی را در بازه‌های زمانی یک ثانیه‌ای چاپ می‌کند. هنگام فعال بودن این گزینه، سایر گزینه‌های مربوط به قالب‌بندی خروجی معتبر نخواهند بود. .RE .PP \fB\-N\fR .RS 4 هنگام چاپ بدنه پیام (payload)، نویسه انتهای خط (newline) به آن اضافه نشود. این کار امکان جریان دادن مستقیم داده‌های بدنه از چندین پیام به برنامه‌ای دیگر را به شکل دست‌نخورده فراهم می‌کند. این گزینه عملاً تنها زمانی کاربرد دارد که از \fB\-v\fR استفاده نشده باشد. .RE .PP \fB\-\-nodelay\fR .RS 4 غیرفعال‌سازی الگوریتم نِیگل (Nagle) برای سوکت. این کار تاخیر پیام‌های ارسالی را کاهش می‌دهد، که به‌ویژه برای پیام‌های کوچک با تواتر نسبتاً کم ملموس است. استفاده از این گزینه ممکن است منجر به ارسال بسته‌های بیشتری نسبت به حالت معمول شود. .RE .PP \fB\-\-no\-tls\fR .RS 4 از نسخه ۲.۱ در دسترس است. .sp غیرفعال‌سازی کامل استفاده از رمزنگاری TLS. این گزینه زمانی کاربرد دارد که گزینه‌های TLS را در یک فایل پیکربندی تعیین کرده‌اید اما قصد دارید آن گزینه‌ها را موقتاً غیرفعال کنید. همچنین استفاده خودکار از TLS را هنگام اتصال به پورت 8883 متوقف می‌سازد. .RE .PP \fB\-o\fR \fIconfig\-file\fR .RS 4 از نسخه ۲.۱ در دسترس است. .sp بارگذاری گزینه‌ها از یک فایل پیکربندی. بخش‌های «فایل پیکربندی پیش‌فرض» و «فایل پیکربندی» در ابتدای بخش گزینه‌ها را مشاهده کنید. .RE .PP \fB\-p\fR, \fB\-\-port\fR .RS 4 اتصال به پورت مشخص‌شده. در صورت تعیین نشدن، مقدار پیش‌فرض ۱۸۸۳ برای MQTT ساده یا ۸۸۸۳ برای MQTT بر روی TLS استفاده خواهد شد. .RE .PP \fB\-P\fR, \fB\-\-pw\fR .RS 4 تعیین گذرواژه برای احراز هویت در کارگزار. استفاده از این آرگومان بدون مشخص کردن نام کاربری در نسخه‌های v3.1 یا v3.1.1 پروتکل MQTT نامعتبر است. .sp همچنین گزینه \fB\-\-username\fR را مشاهده کنید. .RE .PP \fB\-\-pretty\fR .RS 4 هنگام استفاده از قالب خروجی JSON با %j یا %J، رفتار پیش‌فرض این است که خروجی بدون قالب‌بندی چاپ شود. تعیین گزینه \fB\-\-pretty\fR پیام‌ها را در قالبی زیباتر و خواناتر برای انسان چاپ می‌کند. .RE .PP \fB\-\-proxy\fR .RS 4 مشخص کردن یک پروکسی SOCKS5 برای اتصال از طریق آن. انواع احراز هویت «None» و «username» پشتیبانی می‌شوند. مقدار \fBsocks\-url\fR باید به صورت \fBsocks5h://[username[:password]@]host[:port]\fR باشد. پیشوند پروتکل \fBsocks5h\fR به این معنی است که نام‌های میزبان توسط پروکسی ترجمه می‌شوند. نمادهای %25، %3A و %40 در صورت وجود در نام کاربری یا گذرواژه به ترتیب به %، : و @ تبدیل می‌شوند. .sp اگر نام کاربری داده نشود، هیچ تلاشی برای احراز هویت انجام نمی‌شود. اگر پورت داده نشود، مقدار پیش‌فرض ۱۰۸۰ استفاده می‌شود. .sp اگر میزبان به صورت نشانی IPv6 داده شود، باید درون کروشه قرار گیرد؛ مانند \fBsocks5h://[::1]:1080\fR\&. توجه داشته باشید که کروشه‌ها در برخی پوسته‌ها معنی خاصی دارند، بنابراین ممکن است لازم باشد نشانی پروکسی داخل نقل‌قول تکی یا دوتایی قرار گیرد. .sp نسخه‌های بیشتری از SOCKS ممکن است در آینده بسته به تقاضا اضافه شوند و از پیشوندهای پروتکل متفاوتی استفاده کنند، همان‌طور که در \fBcurl\fR(1) توضیح داده شده است. .RE .PP \fB\-\-psk\fR .RS 4 ارائه کلید از پیش اشتراک‌گذاشته‌شده (PSK) به صورت هگزادسیمال (بدون پیشوند 0x) مطابق با کلید تعریف‌شده در کارگزار جهت استفاده از رمزنگاری TLS\-PSK. برای فعال‌سازی TLS\-PSK باید گزینه \fB\-\-psk\-identity\fR نیز مشخص شود. .RE .PP \fB\-\-psk\-identity\fR .RS 4 شناسه کلاینت برای استفاده در پشتیبانی از TLS\-PSK. در صورتی که کارگزار برای آن پیکربندی شده باشد، می‌توان از این مقدار به جای نام کاربری استفاده کرد. .RE .PP \fB\-q\fR, \fB\-\-qos\fR .RS 4 تعیین سطح کیفیت خدمات (Quality of Service) مورد نظر برای پیام‌های دریافتی، از میان ۰، ۱ و ۲. مقدار پیش‌فرض ۰ است. برای اطلاعات بیشتر درباره QoS به \fBmqtt\fR(7) مراجعه کنید. .sp سطح کیفیت خدمات برای تمام موضوعاتی که در یک نمونه واحد از این کلاینت مشترک شده‌اند اعمال می‌شود. .RE .PP \fB\-\-quiet\fR .RS 4 با تعیین این آرگومان، هیچ خطای زمان اجرایی چاپ نخواهد شد. این موضوع پیام‌های خطای مربوط به ورودی نامعتبر کاربر را شامل نمی‌شود (مانند استفاده از \fB\-\-port\fR بدون تعیین شماره پورت). .RE .PP \fB\-R\fR .RS 4 در صورت ارائه این آرگومان، پیام‌های دریافتی که بیت نگهداری (retain) آن‌ها تنظیم شده باشد چاپ نخواهند شد. پیام‌های دارای بیت retain به اصطلاح «کهنه» (stale) هستند، به این معنی که مشخص نیست در ابتدا چه زمانی منتشر شده‌اند. هنگام اشتراک در یک موضوع دارای نویسه عام (wildcard)، ممکن است تعداد زیادی پیام نگه‌داری‌شده وجود داشته باشد. این آرگومان مانع از نمایش آن‌ها می‌شود. .sp همچنین ببینید: \fB\-\-retain\-handling\fR\&. .RE .PP \fB\-\-random\-filter\fR .RS 4 از این گزینه می‌توان برای کاهش نسبت پیام‌هایی که mosquitto_sub چاپ می‌کند استفاده کرد. رفتار پیش‌فرض چاپ تمامی پیام‌های دریافتی است. تنظیم \fIchance\fR به یک مقدار ممیز شناور بین 0.1 و 100.0 تضمین می‌کند که به طور میانگین همان درصد از پیام‌ها چاپ شوند. .RE .PP \fB\-\-remove\-retained\fR .RS 4 در صورت ارائه این آرگومان، هنگامی که mosquitto_sub پیامی را دریافت کند که بیت نگهداری (retain) آن تنظیم شده باشد، پیامی به کارگزار می‌فرستد تا آن پیام نگه‌داری‌شده را پاک کند. این مورد برای تمامی پیام‌های دریافتی به جز مواردی که با گزینه \fB\-T\fR فیلتر شده‌اند اعمال می‌شود. این گزینه حتی در صورت استفاده از \fB\-R\fR همچنان اثرگذار است. همچنین گزینه‌های \fB\-\-retain\-as\-published\fR و \fB\-\-retained\-only\fR را مشاهده کنید. .PP \fBمثال\ \&۱.\ \&\fR پاک کردن تمام پیام‌های نگه‌داری‌شده روی سرور (به فرض داشتن دسترسی لازم برای این کار) و سپس خروج: .sp .if n \{\ .RS 4 .\} .nf mosquitto_sub \-t \*(Aq#\*(Aq \-\-remove\-retained \-\-retained\-only .fi .if n \{\ .RE .\} .PP \fBمثال\ \&۲.\ \&\fR پاک کردن تمام یک درخت موضوعی به استثنای یک موضوع واحد: .sp .if n \{\ .RS 4 .\} .nf mosquitto_sub \-t \*(Aqbbc/#\*(Aq \-T bbc/bbc1 \-\-remove\-retained .fi .if n \{\ .RE .\} .RE .PP \fB\-\-retained\-only\fR .RS 4 در صورت ارائه این آرگومان، تنها پیام‌های دریافتی که بیت نگهداری (retain) آن‌ها تنظیم شده باشد چاپ می‌شوند. پیام‌های دارای بیت retain به اصطلاح «کهنه» (stale) هستند، به این معنی که مشخص نیست در ابتدا چه زمانی منتشر شده‌اند. با استفاده از این آرگومان، دریافت نخستین پیام غیرکهنه باعث خروج کلاینت از برنامه خواهد شد. همچنین گزینه \fB\-\-retain\-as\-published\fR را مشاهده کنید. .RE .PP \fB\-\-retain\-as\-published\fR .RS 4 در صورت ارائه این آرگومان، اشتراک‌ها دارای گزینه «نگهداری همان‌طور که منتشر شده» (retain as published) خواهند بود. این بدان معنی است که پرچم retain در پیام دریافتی دقیقاً همان چیزی خواهد بود که توسط کلاینت منتشرکننده تنظیم شده است، به جای اینکه نشان‌دهنده تازه یا کهنه بودن پیام باشد. .sp این گزینه برای کلاینت‌های پروتکل MQTT نسخه‌های v3.1 و v3.1.1 معتبر نیست. .RE .PP \fB\-\-retain\-handling\fR always | new | never .RS 4 از نسخه ۲.۱ در دسترس است. .sp استفاده از این گزینه برای کنترل نحوه مدیریت پیام‌های نگه‌داری‌شده هنگام برقراری اشتراک است. این گزینه مشخص می‌کند که تحت چه شرایطی پیام‌های نگه‌داری‌شده موجود در هنگام ایجاد اشتراک به کلاینت تحویل داده شوند. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBalways\fR \- همیشه پیام‌های نگه‌داری‌شده تحویل داده شوند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnew\fR \- پیام‌های نگه‌داری‌شده تنها در اولین باری که اشتراک ایجاد می‌شود تحویل داده شوند، اما در اشتراک‌های بعدی تحویل داده نشوند. این ویژگی برای مواردی مناسب است که کلاینتی طولانی‌مدت با نشست غیرتمیز (non-clean session) اجرا می‌شود. اگر اتصال برای مدت کوتاهی قطع شود، هنگام اتصال مجدد کلاینت، پیام‌های نگه‌داری‌شده دوباره دریافت نخواهند شد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBnever\fR \- هرگز پیام‌های نگه‌داری‌شده تحویل داده نشوند .RE .RE .PP \fB\-S\fR .RS 4 استفاده از جستجوهای رکوردهای SRV در DNS برای تعیین میزبان مقصد جهت اتصال. در صورت استفاده به همراه \fB\-h\fR جستجو را روی \fB_mqtt\&._tcp\&.\fR انجام می‌دهد؛ در غیر این صورت از \fB_mqtt\&._tcp\&.\fR استفاده می‌کند. .RE .PP \fB\-t\fR, \fB\-\-topic\fR .RS 4 موضوع (topic) در MQTT برای اشتراک در آن. برای اطلاعات بیشتر درباره موضوعات MQTT به \fBmqtt\fR(7) مراجعه کنید. .sp این گزینه را می‌توان برای اشتراک در چندین موضوع تکرار کرد. .RE .PP \fB\-T\fR, \fB\-\-filter\-out\fR .RS 4 جلوگیری از چاپ موضوعاتی که با فیلتر مطابقت دارند. این امکان اشتراک در یک موضوع دارای نویسه عام (wildcard) و چاپ تنها بخشی از ساختار سلسله‌مراتبی آن را فراهم می‌سازد. .sp برای مثال، اشتراک در شاخه BBC، ولی عدم چاپ خروجی‌های مربوط به Radio 3: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} mosquitto_sub \-t bbc/# \-T bbc/radio3 .RE .sp این گزینه را می‌توان برای فیلتر کردن چندین موضوع یا شاخه موضوعی تکرار کرد. .RE .PP \fB\-\-tls\-alpn\fR .RS 4 تعیین پروتکل مورد استفاده هنگام اتصال به کارگزاری که چندین پروتکل را روی یک پورت ارائه می‌دهد (مانند MQTT و WebSockets). .RE .PP \fB\-\-tls\-engine\fR .RS 4 شناسه یک موتور معتبر OpenSSL (موتور رمزنگاری). این موارد را می‌توان با دستور \fBopenssl engine\fR فهرست کرد. .sp همچنین ببینید: \fB\-\-keyform\fR\&. .RE .PP \fB\-\-tls\-engine\-kpass\-sha1\fR .RS 4 هش SHA1 گذرواژه کلید خصوصی در هنگام استفاده از یک موتور TLS. برخی از موتورهای TLS مانند موتور TPM ممکن است برای دسترسی به گذرواژه نیاز داشته باشند. این گزینه امکان ارسال مستقیم هش SHA1 با کدگذاری هگزادسیمال گذرواژه به موتور را فراهم می‌کند، به جای اینکه از کاربر برای وارد کردن گذرواژه سوال شود. .sp همچنین ببینید: \fB\-\-tls\-engine\fR\&. .RE .PP \fB\-\-tls\-keylog\fR \fIfile\fR .RS 4 از نسخه ۲.۱ در دسترس است. .sp ثبت گزارش اطلاعات اتصال TLS در \fIfile\fR\&. این گزینه به ابزارهایی مانند \fBtcpdump\fR، \fBwireshark\fR و \fBmqttshark\fR امکان رمزگشایی ترافیک TLS و بررسی ترافیک MQTT را می‌دهد. در Wireshark این کار با تنظیم گزینه \fB(Pre)\-Master\-Secret log filename\fR برای پروتکل \fBTransport Layer Security\fR قابل انجام است. .sp این گزینه فقط باید برای اشکال‌زدایی استفاده شود و هرگز نباید در محیط عملیاتی به کار رود. .RE .PP \fB\-\-tls\-use\-os\-certs\fR .RS 4 در صورت استفاده، گواهی‌های مرجع گواهی (CA) ارائه‌شده توسط سیستم‌عامل بارگذاری و مورد اعتماد قرار می‌گیرند. این گزینه می‌تواند در ترکیب با \fB\-\-cafile\fR و \fB\-\-capath\fR یا به تنهایی برای فعال کردن حالت TLS استفاده شود. در صورتی که از \fB\-L mqtts://\&.\&.\&.\fR استفاده شود یا پورت برابر با ۸۸۸۳ باشد و هیچ گزینه گواهی دیگری تعیین نشده باشد، این گزینه به صورت پیش‌فرض فعال خواهد بود. .RE .PP \fB\-\-tls\-version\fR .RS 4 انتخاب نسخه پروتکل TLS مورد استفاده هنگام برقراری ارتباط با کارگزار. گزینه‌های معتبر شامل \fBtlsv1\&.3\fR و \fBtlsv1\&.2\fR هستند. مقدار پیش‌فرض \fBtlsv1\&.2\fR است. این مقدار باید با نسخه پروتکل مورد استفاده کارگزار مطابقت داشته باشد. .RE .PP \fB\-u\fR, \fB\-\-username\fR .RS 4 تعیین نام کاربری برای احراز هویت در کارگزار. .sp همچنین آرگومان \fB\-\-pw\fR را مشاهده کنید. .RE .PP \fB\-\-unix\fR .RS 4 اتصال به کارگزار از طریق سوکت محلی دامنه یونیکس (unix domain socket) به جای سوکت TCP. این گزینه جایگزینی برای \fB\-h\fR و \fB\-L\fR است؛ به عنوان مثال: \fBmosquitto_pub \-\-unix /tmp/mosquitto\&.sock \&.\&.\&.\fR .sp برای پیکربندی Mosquitto جهت گوش دادن روی سوکت یونیکس، گزینه \fBsocket_domain\fR در \m[blue]\fBmosquitto\&.conf\fR\m[](5) را بررسی کنید. .RE .PP \fB\-U\fR, \fB\-\-unsubscribe\fR .RS 4 موضوعی که اشتراک از آن لغو می‌شود. این گزینه می‌تواند به تنهایی یا در ترکیب با گزینه \fB\-\-topic\fR استفاده شود و تنها هنگام استفاده همراه با \fB\-\-clean\-session\fR (یا زمانی که نشست پایدار است) معنا دارد. .sp در صورت استفاده هم‌زمان با \fB\-\-topic\fR اشتراک‌ها پیش از لغو اشتراک‌ها پردازش خواهند شد. .sp توجه داشته باشید که تنها لغو اشتراک از اشتراک‌هایی که قبلاً ثبت شده‌اند امکان‌پذیر است. ایجاد شکاف یا استثنا در اشتراک‌های با نویسه عام (wildcard) ممکن نیست. برای مثال، اشتراک در \fBsensors/#\fR و سپس لغو اشتراک از \fBsensors/+/temperature\fR به شکلی که در زیر نشان داده شده، همچنان باعث تحویل پیام‌های منطبق با \fBsensors/+/temperature\fR به کلاینت خواهد شد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} mosquitto_sub \-t sensors/# \-U sensors/+/temperature \-v .RE .sp همچنین توجه داشته باشید از آنجا که پیام‌های نگه‌داری‌شده بلافاصله پس از دریافت دستور SUBSCRIBE توسط کارگزار منتشر می‌شوند، اشتراک و لغو اشتراک در همان موضوع ممکن است منجر به دریافت پیام‌ها توسط کلاینت شود. .sp این گزینه را می‌توان برای لغو اشتراک از چندین موضوع تکرار کرد. .RE .PP \fB\-v\fR, \fB\-\-verbose\fR .RS 4 چاپ مشروح پیام‌های دریافتی. با این آرگومان، پیام‌ها به صورت «topic payload» چاپ می‌شوند. در صورت عدم تعیین این آرگومان، پیام‌ها فقط به صورت «payload» چاپ می‌شوند. .sp همچنین ببینید: \fB\-F\fR\&. .RE .PP \fB\-V\fR, \fB\-\-protocol\-version\fR .RS 4 تعیین نسخه پروتکل MQTT مورد استفاده هنگام اتصال به کارگزار راه دور. می‌تواند مقادیر \fB5\fR، \fB311\fR، \fB31\fR، یا حالت‌های طولانی‌تر \fBmqttv5\fR، \fBmqttv311\fR یا \fBmqttv31\fR باشد. مقدار پیش‌فرض \fB311\fR است. .RE .PP \fB\-W\fR .RS 4 تعیین مهلت زمانی (timeout) به عنوان یک عدد صحیح بر حسب ثانیه. پس از سپری شدن این تعداد ثانیه، کلاینت پردازش پیام‌ها را متوقف کرده و اتصال را قطع می‌کند. این زمان‌سنج دقیقاً پس از اتصال کلاینت به کارگزار آغاز می‌شود. .RE .PP \fB\-w\fR, \fB\-\-watch\fR .RS 4 از نسخه ۲.۱ در دسترس است. .sp پیام‌ها بر روی شماره خط ثابتی بر اساس موضوع و ترتیبی که موضوعات دریافت می‌شوند چاپ خواهند شد. این ویژگی برای نظارت بر چندین موضوع که دارای محتوای تک‌خطی هستند مفید است. اگر تعداد موضوعات بیش از تعداد خطوط ترمینال باشد یا محتوای پیام بیش از یک خط را اشغال کند، رفتارهای پیش‌بینی‌نشده‌ای رخ خواهد داد. این گزینه را می‌توان همراه با سایر گزینه‌های خروجی مانند \fB\-F\fR استفاده کرد. .sp نیازمند پشتیبانی از کدهای گریز ANSI در ترمینال است. .RE .PP \fB\-\-will\-payload\fR .RS 4 مشخص کردن پیامی که توسط کارگزار ذخیره می‌شود و در صورت قطع ناگهانی و غیرمنتظره اتصال این کلاینت ارسال خواهد شد. این گزینه باید همراه با \fB\-\-will\-topic\fR استفاده شود. .RE .PP \fB\-\-will\-qos\fR .RS 4 سطح کیفیت خدمات (QoS) برای پیام وصیت (Will). مقدار پیش‌فرض ۰ است. این گزینه باید همراه با \fB\-\-will\-topic\fR استفاده شود. .RE .PP \fB\-\-will\-retain\fR .RS 4 در صورت تعیین، اگر اتصال کلاینت به طور غیرمنتظره قطع شود، پیام ارسالی به عنوان یک پیام نگهداری‌شده (retained) تلقی خواهد شد. این گزینه باید همراه با \fB\-\-will\-topic\fR استفاده شود. .RE .PP \fB\-\-will\-topic\fR .RS 4 موضوعی (topic) که در صورت قطع ناگهانی و غیرمنتظره اتصال کلاینت، پیام وصیت روی آن ارسال می‌شود. .RE .PP \fB\-\-ws\fR .RS 4 برقراری اتصال با استفاده از وب‌سوکت (WebSockets) به جای TCP ساده. .RE .PP \fB\-x\fR .RS 4 تنظیم ویژگی session\-expiry\-interval در بسته CONNECT. در صورت استفاده از این گزینه، کلاینت به عنوان کلاینت MQTT نسخه ۵ تنظیم خواهد شد. عددی بین 0 تا 4294967294 تعیین می‌کند که نشست پس از قطع اتصال کلاینت تا چند ثانیه معتبر بماند، یا برای نشستی که هرگز منقضی نمی‌شود از مقادیر \-1، 4294967295 یا ∞ استفاده کنید. در صورت ارائه گزینه \-c مقدار پیش‌فرض \-1 و در غیر این صورت 0 خواهد بود. .sp اگر نشست با استفاده از \-x یا \-c طوری تنظیم شود که هرگز منقضی نشود، باید شناسه کلاینت مشخص گردد. .RE .SH "قالب خروجی (OUTPUT FORMAT)" .PP سه روش برای قالب‌بندی خروجی چاپ‌شده وجود دارد. در تمام حالت‌ها، به ازای هر پیام دریافتی یک نویسه خط جدید (newline) اضافه می‌شود مگر اینکه آرگومان \fB\-N\fR تعیین شده باشد. .PP قالب «فقط بدنه» (Payload-only) حالت پیش‌فرض خروجی است و بدنه پیام را دقیقاً همان‌طور که دریافت شده است چاپ می‌کند. .PP حالت پرحجم (Verbose) با \fB\-v\fR فعال می‌شود و موضوع و بدنه پیام را با یک فاصله (space) میان آن‌ها چاپ می‌کند. .PP گزینه پایانی، خروجی قالب‌بندی‌شده است که به کاربر اجازه می‌دهد قالب خروجی سفارشی تعریف کند. این رفتار با گزینه \fB\-F format\-string\fR کنترل می‌شود. رشته قالب، یک رشته متنی آزاد است که در آن دنباله‌های تفسیرشده با پارامترهای مختلف جایگزین می‌شوند. دنباله‌های تفسیرشده در دسترس در زیر توضیح داده شده‌اند. .PP سه نویسه برای شروع یک دنباله تفسیرشده به کار می‌روند: \fB%\fR، \fB@\fR و \fB\e\fR\&. دنباله‌هایی که با \fB%\fR شروع می‌شوند یا پارامترهای مربوط به پیام MQTT در حال چاپ هستند، یا دنباله‌های کمکی هستند که به عنوان مثال نیاز به نوشتن رشته‌های طولانی قالب تاریخ را برطرف می‌کنند. دنباله‌هایی که با \fB@\fR شروع می‌شوند به تابع \fBstrftime\fR(3) ارسال می‌گردند (با جایگزین شدن @ با % \- توجه داشته باشید که تنها نویسه بلافاصله پس از @ به strftime ارسال می‌شود). این امکان ساخت انواع مختلفی از خروجی‌های مبتنی بر زمان را فراهم می‌کند. گزینه‌های خروجی strftime از پلتفرمی به پلتفرم دیگر متفاوت است، بنابراین گزینه‌های در دسترس پلتفرم خود را بررسی کنید. یک افزونه برای strftime ارائه شده است که \fB@N\fR می‌باشد و می‌توان از آن برای دریافت تعداد نانوثانیه‌های سپری‌شده در ثانیه جاری استفاده کرد. دقت این گزینه بسته به پلتفرم متفاوت است. نویسه دنباله پایانی \fB\e\fR است که برای وارد کردن برخی نویسه‌ها استفاده می‌شود که در غیر این صورت وارد کردن آن‌ها دشوار خواهد بود. .SS "نویسه‌های پرچم (Flag characters)" .PP پارامترهای %A، %C، %d، %E، %F، %f، %I، %l، %m، %p، %R، %S، %t، %x و %X می‌توانند پرچم‌های اختیاری بلافاصله پس از نویسه % داشته باشند. .PP \fB0\fR .RS 4 مقدار باید با صفر پر شود (zero-padded). این پرچم برای پارامترهای %A، %E، %d، %F، %f، %l، %m، %S، %X و %x اعمال می‌شود و برای سایر پارامترها نادیده گرفته خواهد شد. در صورت استفاده با پرچم \fB\-\fR، پرچم \fB0\fR نادیده گرفته می‌شود. .RE .PP \fB\-\fR .RS 4 مقدار به سمت چپِ عرض فیلد تراز می‌شود و با فاصله‌های خالی پر خواهد شد. حالت پیش‌فرض تراز به راست با پر کردن توسط ۰ یا فاصله خالی است. .RE .SS "عرض فیلد (Field width)" .PP برخی از پارامترهای مربوط به MQTT را می‌توان با گزینه‌ای برای تنظیم عرض فیلد آن‌ها به روشی مشابه با قالب‌های معمول سبک printf قالب‌بندی کرد، یعنی این مقدار حداقل عرض را هنگام چاپ این پارامتر تعیین می‌کند. اگر طول خروجی کمتر از این عرض باشد، فیلد برای رسیدن به این عرض پر می‌شود. این مورد برای گزینه‌های %A، %C، %d، %E، %F، %f، %I، %l، %m، %p، %R، %S، %t، %x و %X اعمال می‌شود. .PP برای مثال \fB%10t\fR حداقل عرض فیلد موضوع را روی ۱۰ نویسه تنظیم می‌کند. .SS "حداکثر عرض (Maximum width)" .PP برخی از پارامترهای مربوط به MQTT را می‌توان با گزینه‌ای برای تعیین حداکثر عرض فیلد به شیوه‌ای مشابه قالب‌های سبک printf قالب‌بندی کرد، به عنوان مثال \fB%\&.20t\fR برای حداکثر عرض ۲۰ نویسه. این مورد برای گزینه‌های %C، %I، %R و %t اعمال می‌شود. .PP برای مثال \fB%10\&.10t\fR حداقل عرض فیلد موضوع را روی ۱۰ نویسه و حداکثر عرض آن را روی ۱۰ نویسه تنظیم می‌کند، یعنی فیلد همیشه دقیقاً دارای طول ۱۰ نویسه خواهد بود. .SS "عرض فیلد دودویی هگزادسیمال (Hexadecimal binary field width)" .PP پارامترهای %x و %X به طور پیش‌فرض بدنه پیام را به صورت یک رشته هگزادسیمال واحد خروجی می‌دهند. همچنین امکان تقسیم بدنه هگزادسیمال به فیلدهایی با طول دلخواهی از نیم‌بایت‌ها (nibbles) وجود دارد. برای مثال، \fB%\&.2x\fR بدنه را به مقادیر دو نیم‌بایتی (یک بایتی) جداشده با فاصله تقسیم می‌کند و ممکن است خروجی‌ای مانند 18 83 تولید کند. .PP نویسه جداکننده به طور پیش‌فرض فاصله است، اما می‌توان آن را با افزودن یکی از نویسه‌های \fB!"#$&\*(Aq()*+,\-\&./:;<=>?@[\e]^_`{|}~\fR پس از عرض فیلد دودویی تغییر داد. برای مثال \fB%\&.2:x\fR ممکن است خروجی‌ای مانند 18:83 تولید کند. .SS "ملاحظات چاپ اعداد ممیز شناور (Floating point number printing consideration)" .PP قالب خروجی فقط از استاندارد ممیز شناور IEEE 754 مطابق آنچه در پیوست F از ISO/IEC 9899:1999 شرح داده شده پشتیبانی می‌کند. اگر پلتفرم منتشرکننده از استاندارد نمایش ممیز شناور دیگری غیر از IEEE 754 استفاده می‌کند از %f یا %d استفاده نکنید، در غیر این صورت داده‌های نامعتبر دریافت خواهید کرد. اگر مطمئن نیستید پلتفرم شما از چه نمایشی برای ممیز شناور استفاده می‌کند، به احتمال بسیار زیاد IEEE 754 است. اگر مقادیر ناقص یا غیرمنتظره‌ای دریافت کردید، بررسی کنید که آیا عدد ممیز شناور در بدنه پیام ارسالی از منتشرکننده با IEEE 754 کدگذاری شده است یا خیر. .PP اگر قصد چاپ اعداد اعشاری شناور را دارید، اطمینان حاصل کنید که تنها در موضوعاتی مشترک می‌شوید که صرفاً مقادیر ممیز شناور قالب‌بندی‌شده با IEEE 754 ارسال می‌کنند. پردازش در مورد اعداد ممیز شناور بسیار سخت‌گیرانه است و اگر داده‌ای دریافت شود که عدد ممیز شناور نباشد، یک پیام خطا چاپ خواهد شد. .SS "پارامترهای مربوط به MQTT (MQTT related parameters)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%%\fR یک نویسه لفظی %\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%A\fR ویژگی topic\-alias در MQTT نسخه ۵، در صورت وجود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%C\fR ویژگی content\-type در MQTT نسخه ۵، در صورت وجود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%D\fR ویژگی correlation\-data در MQTT نسخه ۵، در صورت وجود. توجه داشته باشید که این ویژگی به عنوان داده دودویی مشخص شده است، بنابراین ممکن است نویسه‌های غیرقابل‌چاپ تولید کند. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%d\fR بدنه پیام که به عنوان عدد اعشاری شناور ۸ بایتی IEEE 754 (double) در نظر گرفته می‌شود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%E\fR ویژگی message\-expiry\-interval در MQTT نسخه ۵، در صورت وجود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%F\fR ویژگی payload\-format\-indicator در MQTT نسخه ۵، در صورت وجود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%f\fR بدنه پیام که به عنوان عدد اعشاری شناور ۴ بایتی IEEE 754 در نظر گرفته می‌شود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%l\fR طول بدنه پیام بر حسب بایت. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%m\fR شناسه پیام (فقط برای پیام‌های با QoS>0 معنادار است). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%P\fR ویژگی user\-property در MQTT نسخه ۵، در صورت وجود. این مقدار به صورت key:value چاپ می‌شود. ممکن است هر تعداد ویژگی کاربری به یک پیام متصل باشد و کلیدهای تکراری وجود داشته باشند. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%p\fR بایت‌های خام بدنه پیام (بسته به بدنه ممکن است نویسه‌های غیرقابل‌چاپ تولید کند). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%q\fR سطح کیفیت خدمات (QoS) پیام. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%R\fR ویژگی response\-topic در MQTT نسخه ۵، در صورت وجود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%r\fR پرچم نگهداری (retain) برای پیام. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%S\fR ویژگی subscription\-identifier در MQTT نسخه ۵، در صورت وجود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%t\fR موضوع پیام. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%x\fR بدنه پیام با هر بایت به صورت عدد هگزادسیمال (حروف کوچک). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%X\fR بدنه پیام با هر بایت به صورت عدد هگزادسیمال (حروف بزرگ). .RE .SS "دنباله‌های کمکی (Helpers)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%I\fR تاریخ و زمان با فرمت ISO\-8601، مانند 2016\-08\-10T09:47:38+0100 .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%j\fR خروجی JSON از پارامترهای پیام و مهر زمان، با بدنه در داخل نقل‌قول و کاراکترهای گریز. به عنوان مثال {"tst":"2020\-05\-06T22:12:00\&.000000+0100","topic":"greeting","qos":0,"retain":0,"payload":"hello world"} .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%J\fR خروجی JSON از پارامترهای پیام و مهر زمان، بدون نقل‌قول و بدون کاراکترهای گریز برای بدنه \- این یعنی خود بدنه باید JSON معتبر باشد. به عنوان مثال: {"tst":"2020\-05\-06T22:12:00\&.000000+0100","topic":"foo","qos":0,"retain":0,"payload":{"temperature":27\&.0,"humidity":57}}\&. .sp اگر بدنه پیام JSON معتبر نباشد، پیام خطای "Error: Message payload is not valid JSON on topic " در stderr چاپ خواهد شد. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB%U\fR مهر زمانی یونیکس با نانوثانیه، مانند 1470818943\&.786368637 .RE .SS "پارامترهای مربوط به زمان (Time related parameters)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB@@\fR یک نویسه لفظی @\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB@X\fR ارسال نویسه نشان‌داده‌شده توسط \fBX\fR به تابع strftime به عنوان \fB%X\fR\&. گزینه‌های پشتیبانی‌شده وابسته به پلتفرم هستند. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB@N\fR تعداد نانوثانیه‌های سپری‌شده در ثانیه جاری، با دقت زمانی متغیر بسته به پلتفرم. .RE .SS "نویسه‌های گریز (Escape characters)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\e\e\fR یک نویسه لفظی \e\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\e0\fR یک نویسه تهی (null character). می‌تواند برای جداسازی پارامترهای مختلف که ممکن است حاوی فاصله باشند (مانند topic، payload) استفاده شود تا پردازش با ابزارهایی مانند \fBxargs\fR(1) ساده‌تر شود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\ea\fR هشدار/زنگ (alert/bell). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\ee\fR دنباله گریز (escape sequence)، که می‌تواند با کدهای رنگی ANSI برای ارائه خروجی رنگی به کار رود. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\en\fR انتهای خط (newline). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\er\fR بازگشت مکان‌نما (carriage return). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\et\fR برگه افقی (horizontal tab). .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\ev\fR برگه عمودی (vertical tab). .RE .SH "وصیت‌نامه‌ها (WILLS)" .PP کلاینت می‌تواند پیامی را نزد کارگزار ثبت کند تا در صورت قطع اتصال غیرمنتظره، به صورت خودکار ارسال شود. برای اطلاعات بیشتر به \fBmqtt\fR(7) مراجعه کنید. .PP حداقل نیاز برای این ویژگی، استفاده از \fB\-\-will\-topic\fR جهت تعیین موضوعی است که پیام وصیت باید روی آن ارسال شود. این کار منجر به ارسال پیامی با طول صفر، بدون نگهداری (non-retained) و با سطح QoS 0 خواهد شد. .PP از آرگومان‌های \fB\-\-will\-retain\fR، \fB\-\-will\-payload\fR و \fB\-\-will\-qos\fR برای تغییر سایر پارامترهای وصیت استفاده کنید. .SH "ویژگی‌ها (PROPERTIES)" .PP گزینه \fB\-D\fR / \fB\-\-property\fR امکان افزودن ویژگی‌ها را در مراحل مختلف اجرای mosquitto_sub فراهم می‌کند. ویژگی‌های پشتیبانی‌شده برای هر دستور به شرح زیر است: .SS "اتصال (Connect)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBauthentication\-data\fR (داده دودویی \- توجه: به عنوان رشته رفتار می‌شود) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBauthentication\-method\fR (جفت‌رشته UTF\-8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmaximum\-packet\-size\fR (عدد صحیح بی‌علامت ۳۲ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBreceive\-maximum\fR (عدد صحیح بی‌علامت ۱۶ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBrequest\-problem\-information\fR (عدد صحیح بی‌علامت ۸ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBrequest\-response\-information\fR (عدد صحیح بی‌علامت ۸ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsession\-expiry\-interval\fR (عدد صحیح بی‌علامت ۳۲ بیتی؛ توجه: به جای آن از \fB\-x\fR استفاده کنید) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBtopic\-alias\-maximum\fR (عدد صحیح بی‌علامت ۱۶ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBuser\-property\fR (جفت‌رشته UTF\-8) .RE .SS "اشتراک (Subscribe)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBuser\-property\fR (جفت‌رشته UTF\-8) .RE .SS "لغو اشتراک (Unsubscribe)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBuser\-property\fR (جفت‌رشته UTF\-8) .RE .SS "قطع اتصال (Disconnect)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBsession\-expiry\-interval\fR (عدد صحیح بی‌علامت ۳۲ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBuser\-property\fR (جفت‌رشته UTF\-8) .RE .SS "ویژگی‌های وصیت (Will properties)" .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcontent\-type\fR (رشته UTF\-8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBcorrelation\-data\fR (داده دودویی \- توجه: به عنوان رشته رفتار می‌شود) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBmessage\-expiry\-interval\fR (عدد صحیح بی‌علامت ۳۲ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBpayload\-format\-indicator\fR (عدد صحیح بی‌علامت ۸ بیتی) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBresponse\-topic\fR (رشته UTF\-8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBuser\-property\fR (جفت‌رشته UTF\-8) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fBwill\-delay\-interval\fR (عدد صحیح بی‌علامت ۳۲ بیتی) .RE .SH "وضعیت خروج (EXIT STATUS)" .PP در صورت موفقیت مقدار صفر و در صورت بروز خطا مقداری غیر صفر بازگردانده می‌شود. اگر اتصال توسط کارگزار در سطح MQTT رد شود، کد خروج همان کد دلیل CONNACK خواهد بود. در صورت بروز هر خطای دیگری، کد خروج مقدار بازگشتی libmosquitto است. .PP کدهای CONNACK در MQTT نسخه v3.1.1: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB0\fR موفقیت‌آمیز (Success) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB1\fR اتصال رد شد: نسخه پروتکل نامعتبر است (Connection refused: Bad protocol version) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB2\fR اتصال رد شد: شناسه پذیرفته نشد (Connection refused: Identifier rejected) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB3\fR اتصال رد شد: سرور در دسترس نیست (Connection refused: Server unavailable) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB4\fR اتصال رد شد: نام کاربری یا گذرواژه نادرست است (Connection refused: Bad username/password) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB5\fR اتصال رد شد: فاقد مجوز (Connection refused: Not authorized) .RE .PP کدهای CONNACK در MQTT نسخه v5: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB0\fR موفقیت‌آمیز (Success) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB128\fR خطای نامشخص (Unspecified error) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB129\fR بسته ناقص یا بدشکل (Malformed packet) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB130\fR خطای پروتکل (Protocol error) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB131\fR خطای وابسته به پیاده‌سازی (Implementation specific error) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB132\fR نسخه پروتکل پشتیبانی نمی‌شود (Unsupported protocol version) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB133\fR شناسه کلاینت نامعتبر است (Client ID not valid) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB134\fR نام کاربری یا گذرواژه نادرست است (Bad username or password) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB135\fR فاقد مجوز (Not authorized) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB136\fR سرور در دسترس نیست (Server unavailable) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB137\fR سرور مشغول است (Server busy) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB138\fR مسدود شده (Banned) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB139\fR سرور در حال خاموش شدن است (Server shutting down) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB140\fR روش احراز هویت نادرست است (Bad authentication method) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB141\fR پایان مهلت زنده ماندن (Keep alive timeout) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB142\fR نشست توسط اتصال دیگری تصاحب شد (Session taken over) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB143\fR فیلتر موضوع نامعتبر است (Topic filter invalid) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB144\fR نام موضوع نامعتبر است (Topic name invalid) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB147\fR سقف دریافت رد شد (Receive maximum exceeded) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB148\fR نام مستعار موضوع نامعتبر است (Topic alias invalid) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB149\fR بسته بیش از حد بزرگ است (Packet too large) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB148\fR نرخ ارسال پیام بیش از حد بالاست (Message rate too high) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB151\fR سهمیه مصرف تمام شده است (Quota exceeded) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB152\fR اقدام مدیریتی (Administrative action) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB153\fR قالب داده بدنه نامعتبر است (Payload format invalid) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB154\fR نگهداری پیام پشتیبانی نمی‌شود (Retain not supported) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB155\fR سطح کیفیت خدمات پشتیبانی نمی‌شود (QoS not supported) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB156\fR از سرور دیگری استفاده کنید (Use another server) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB157\fR سرور منتقل شده است (Server moved) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB158\fR اشتراک‌های هم‌رسان پشتیبانی نمی‌شود (Shared subscriptions not supported) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB159\fR نرخ برقراری اتصال بیش از حد مجاز است (Connection rate exceeded) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB160\fR حداکثر زمان مجاز اتصال (Maximum connect time) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB161\fR شناسه‌های اشتراک پشتیبانی نمی‌شوند (Subscription IDs not supported) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB162\fR اشتراک‌های با نویسه عام پشتیبانی نمی‌شوند (Wildcard subscriptions not supported) .RE .PP سایر کدها (Other codes): .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB27\fR پایان مهلت زمانی انتظار برای دریافت پیام (Timed out waiting for message) .RE .SH "مثال‌ها (EXAMPLES)" .PP توجه داشته باشید که این موارد صرفاً مثال هستند \- اگر دستورات را همان‌طور که نشان داده شده است اجرا کنید، اشتراک‌ها برقرار خواهند شد، اما برای دریافت هرگونه پیام باید چیزی در حال انتشار پیام روی آن موضوعات باشد. .PP اشتراک در اطلاعات دما روی localhost با کیفیت خدمات QoS 1: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} mosquitto_sub \-t sensors/temperature \-q 1 .RE .PP اشتراک در به‌روزرسانی‌های دمای دیسک سخت روی چندین ماشین/دیسک سخت. این دستور انتظار دارد هر ماشین دمای دیسک سخت خود را روی موضوع sensors/machines/HOSTNAME/temperature/HD_NAME منتشر کند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} mosquitto_sub \-t sensors/machines/+/temperature/+ .RE .PP اشتراک در تمام پیام‌های وضعیت کارگزار: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} mosquitto_sub \-v \-t \e$SYS/# .RE .PP تعیین قالب خروجی به صورت "ISO\-8601 date : topic : payload in hex": .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} mosquitto_sub \-F \*(Aq@Y\-@m\-@dT@H:@M:@S@z : %t : %x\*(Aq \-t \*(Aq#\*(Aq .RE .PP تعیین قالب خروجی به صورت "seconds since epoch\&.nanoseconds : retained flag : qos : mid : payload length": .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} mosquitto_sub \-F \*(Aq%@s\&.@N : %r : %q : %m : %l\*(Aq \-q 2 \-t \*(Aq#\*(Aq .RE .PP خروجی موضوع و بدنه پیام، با رنگ‌بندی در ترمینال‌هایی که پشتیبانی می‌کنند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} mosquitto_sub \-F \*(Aq\ee[92m%t \ee[96m%p\ee[0m\*(Aq \-q 2 \-t \*(Aq#\*(Aq .RE .SH "فایل‌ها (FILES)" .PP $XDG_CONFIG_HOME/mosquitto_sub, $HOME/\&.config/mosquitto_sub, $HOME/snap/mosquitto/current/\&.config/mosquitto_sub (برای نسخه‌های نصب‌شده از طریق snap) .RS 4 فایل پیکربندی برای گزینه‌های پیش‌فرض. .RE .SH "اشکالات (BUGS)" .PP اطلاعات مربوط به اشکالات \fBmosquitto\fR را می‌توانید در نشانی زیر بیابید: \m[blue]\fB\%https://github.com/eclipse-mosquitto/mosquitto/issues\fR\m[] .SH "همچنین ببینید (SEE ALSO)" \fBmosquitto\fR(7), \fBmqtt\fR(7), \fBmosquitto_pub\fR(1), \fBmosquitto_rr\fR(1), \fBmosquitto\fR(8), \fBlibmosquitto\fR(3), \fBmosquitto-tls\fR(7) .SH "نویسنده (AUTHOR)" .PP Roger Light