کتابخانه‌ی استاندارد · شبکه

سوکت‌آیاو net/socketio

کارخواه Socket.IO: رویدادها، تایید، فضای نام و اتصال دوباره‌ی خودکار.

واردسازی شبکه.سوکت‌آیاو

Socket.IO کتابخانه‌ی رایج گفتگوی زنده در دنیای Node.js است. این بسته کارخواهی برای سرورهای Socket.IO نسخه‌ی ۳ و ۴ (پروتکل Engine.IO نسخه‌ی ۴) است، روی وب‌سوکت یا HTTP long polling؛ خودش سرور ندارد. وقتی به کارش ببرید که طرف مقابل از قبل Socket.IO حرف می‌زند، مثلاً سرور گفتگو یا داشبوردی که با Node.js نوشته شده. اگر هر دو سر در اختیار شماست و کارخواه مرورگر است، سرور ساده‌ی وب‌سوکت ساده‌تر است، چون Socket.IO قالب بسته‌ی خودش را روی وب‌سوکت می‌گذارد.

الگوی کار: اتصال وصل می‌شود، روی برای هر رویداد شنونده می‌گذارد و ارسال ... رویداد می‌فرستد. هیچ چیز در پس‌زمینه خوانده نمی‌شود: شنونده‌ها فقط وقتی صدا زده می‌شوند که برنامه با اجرا، اجرا برای، پمپ، بعدی یا ارسال منتظر تایید پیام‌ها را پردازش کند. آرگومان‌های هر رویداد یک آرایه‌ی جیسون‌اند و با آرگومان رشته، آرگومان عددی و مانند آن خوانده می‌شوند. اگر فرستنده پاسخ بخواهد، ack_id رویداد نامنفی است و با پاسخ جوابش را می‌دهید. برای چند فضای نام روی یک اتصال، مدیر بسازید.

چیزهایی که بیشتر غافلگیر می‌کنند:

  • برنامه‌ای که پمپ نکند هیچ چیز نمی‌شنود. پینگ‌های سرور هنگام پمپ پاسخ داده می‌شوند، پس کارخواهی که بیشتر از مهلت پینگ سرور بخوابد قطع می‌شود.
  • بعدی رویدادهای اتصال را هم برمی‌گرداند، مثل رویداد اتصال؛ حلقه را تا نوعی که می‌خواهید بر آن بایستید ادامه دهید، نه تا نخستین رویدادی که پیام نیست. صف آن از نخستین فراخوانی بعدی شروع می‌شود و تازه‌ترین event_queue رویداد (پیش‌فرض ۲۵۶) را نگه می‌دارد و قدیمی‌ترین را دور می‌ریزد.
  • آنچه می‌سازید آزاد کنید. آزادسازی آرگومان برای فهرست آرگومان‌ها و آزادسازی تایید برای پاسخ‌ها، وگرنه کارخواه بلندمدت مدام بزرگ‌تر می‌شود.
  • سرورهای Socket.IO نسخه‌ی ۲ (پیش از ۲۰۲۰) پروتکل قدیمی‌تری دارند و پشتیبانی نمی‌شوند.

رسیدگی به رویدادها در حلقه‌ی خودتان

شنونده‌ها با روی روش معمول‌اند، ولی گاهی یک حلقه‌ی ساده خواناتر است: کارگری که هر بار یک رویداد را انجام می‌دهد، یا برنامه‌ای که میان پیام‌ها کار دیگری هم دارد. بعدی حداکثر تا چند میلی‌ثانیه‌ی داده شده صبر می‌کند و یک رویداد برمی‌گرداند. kind آن می‌گوید چیست: پیامی از سرور (رویداد پیام، با نام و آرگومان‌ها)، تغییری در اتصال مثل رویداد قطع (دلیلش در message است)، یا رویداد مهلت وقتی چیزی نرسیده.

net-socketio-next-loop.salam
واردسازی شبکه.سوکت‌آیاو
واردسازی شبکه.وب‌سوکت

ناپایا سرور من := وب‌سوکت.سرور {}

تابع سرور ساختگی():
    ناپایا اتصال := وب‌سوکت.پذیرش(سرور من)
    _ := وب‌سوکت.ارسال متن(اتصال، `0{"sid":"s1","upgrades":[],"pingInterval":20000,"pingTimeout":5000}`)
    پیام := وب‌سوکت.دریافت با مهلت(اتصال، ۳۰۰۰)
    اگر پیام.نوع برابر وب‌سوکت.متن و پیام.متن برابر "40":
        _ := وب‌سوکت.ارسال متن(اتصال، `40{"sid":"a1"}`)
        _ := وب‌سوکت.ارسال متن(اتصال، `42["قیمت","BTC",61250]`)
        _ := وب‌سوکت.ارسال متن(اتصال، `42["قیمت","ETH",2410]`)
        _ := وب‌سوکت.ارسال متن(اتصال، `42["halt","maintenance"]`)
        _ := وب‌سوکت.ارسال متن(اتصال، "41")
    پایان
    _ := وب‌سوکت.دریافت با مهلت(اتصال، ۱۰۰۰)
    وب‌سوکت.بستن(اتصال)
پایان

تابع ریشه:
    سرور من = وب‌سوکت.شنود(۰)
    نخ := نخ‌ساز(سرور ساختگی)
    ناپایا گزینه := سوکت‌آیاو.گزینه‌های جدید()
    گزینه.حمل‌ونقل = سوکت‌آیاو.حمل‌ونقل وب‌سوکت
    گزینه.اتصال دوباره = نادرست
    کارخواه := سوکت‌آیاو.اتصال با("http://127.0.0.1:" + وب‌سوکت.درگاه(سرور من)، گزینه)

    ناپایا ادامه := درست
    تا ادامه:
        رخداد := سوکت‌آیاو.بعدی(کارخواه، ۳۰۰۰)
        اگر رخداد.نوع برابر سوکت‌آیاو.رویداد پیام و رخداد.نام برابر "قیمت":
            سرچاپ "قیمت"، سوکت‌آیاو.آرگومان رشته(رخداد، ۰)، سوکت‌آیاو.آرگومان عددی(رخداد، ۱)
        وگرنه رخداد.نوع برابر سوکت‌آیاو.رویداد پیام:
            سرچاپ "رویداد"، رخداد.نام، سوکت‌آیاو.آرگومان رشته(رخداد، ۰)
        وگرنه رخداد.نوع برابر سوکت‌آیاو.رویداد قطع:
            سرچاپ "قطع شد:"، رخداد.پیام، رخداد.پیام برابر سوکت‌آیاو.قطع توسط سرور
            ادامه = نادرست
        وگرنه رخداد.نوع برابر سوکت‌آیاو.رویداد مهلت:
            سرچاپ "در مهلت چیزی نرسید"
            ادامه = نادرست
        پایان
    پایان
    سوکت‌آیاو.بستن(کارخواه)
    نخ‌پیوند(نخ)
    وب‌سوکت.بستن سرور(سرور من)
پایان
خروجیقیمت BTC 61250 قیمت ETH 2410 رویداد halt maintenance قطع شد: io server disconnect true

برنامه سرور کوچک خودش را همراه دارد که قالب Socket.IO را روی یک وب‌سوکت حرف می‌زند، پس بدون Node.js اجرا می‌شود. سرور واقعی همین بسته‌ها را می‌فرستد: 42["قیمت","BTC",61250] رویدادی به نام قیمت با دو آرگومان است و 41 یعنی سرور فضای نام را بسته، که به شکل قطع توسط سرور می‌رسد. پس از این دلیل کارخواه خودش دوباره وصل نمی‌شود، چون سرور عمدا قطع کرده است.

ورود با توکن

سرورهای Socket.IO معمولاً کاربر را در یک میان‌افزار بررسی می‌کنند که شیء auth اتصال را می‌خواند. پیش از اتصال آن JSON را در auth گزینه‌ها بگذارید. وقتی میان‌افزار نپذیرد، سرور به جای نشست یک خطای اتصال برمی‌گرداند؛ آن وقت رد شده درست است و دلیل رد پیامی را که سرور داده نگه می‌دارد.

net-socketio-auth.salam
واردسازی شبکه.سوکت‌آیاو

تابع ریشه:
    ناپایا گزینه := سوکت‌آیاو.گزینه‌های جدید()
    گزینه.احراز هویت = `{"token":"eyJhbGciOiJIUzI1NiJ9.e30.x"}`
    گزینه.اتصال دوباره = نادرست
    کارخواه := سوکت‌آیاو.اتصال با("https://chat.example.com"، گزینه)
    اگر سوکت‌آیاو.رد شده(کارخواه):
        سرچاپ "سرور ما را نپذیرفت:"، سوکت‌آیاو.دلیل رد(کارخواه)
        برگشت ۱
    پایان
    اگر وارونه سوکت‌آیاو.متصل است(کارخواه):
        سرچاپ "اتصال برقرار نشد:"، سوکت‌آیاو.آخرین خطا(کارخواه)
        برگشت ۱
    پایان
    سرچاپ "وصل شد با شناسه"، سوکت‌آیاو.شناسه(کارخواه)، "روی"، سوکت‌آیاو.نام حمل‌ونقل(کارخواه)
    سوکت‌آیاو.بستن(کارخواه)
    برگشت ۰
پایان

این برنامه به یک سرور در حال اجرا نیاز دارد، پس این‌جا فقط بررسی می‌شود. در یک سرور Node.js بررسی متناظر یک io.use((socket, next) => ...) است که socket.handshake.auth.token را می‌خواند و برای رد کردن next(new Error("...")) را صدا می‌زند.

تأیید در هر دو جهت

تأیید (acknowledgement) همان درخواست و پاسخ در Socket.IO است: فرستنده به رویداد شماره می‌دهد و طرف دیگر به همان شماره پاسخ می‌دهد. ارسال منتظر تایید رویدادی می‌فرستد و تا زمانی که می‌دهید منتظر پاسخ سرور می‌ماند؛ اگر به‌موقع نرسد ok نادرست است. در جهت دیگر، وقتی سرور رویدادی با شناسه می‌فرستد، ack_id رویداد آن را نگه می‌دارد و پاسخ، پاسخ رشته یا پاسخ جیسون به آن جواب می‌دهد. سرور ساختگی زیر هر دو بسته را روی سیم نشان می‌دهد: 420[...] رویداد کارخواه با شناسه‌ی تأیید ۰ است و 4317["بله"] پاسخ کارخواه به شناسه‌ی ۱۷ سرور.

net-socketio-ack.salam
واردسازی شبکه.سوکت‌آیاو
واردسازی شبکه.وب‌سوکت
واردسازی کدگذاری.جیسون

ناپایا سرور من := وب‌سوکت.سرور {}
ناپایا دیده‌ها := وکتور {} برگردان وکتور<رشته>

تابع سرور ساختگی():
    ناپایا ا := وب‌سوکت.پذیرش(سرور من)
    _ := وب‌سوکت.ارسال متن(ا، `0{"sid":"s1","upgrades":[],"pingInterval":20000,"pingTimeout":5000}`)
    اگر وب‌سوکت.دریافت متن(ا) != "40": برگشت پایان
    _ := وب‌سوکت.ارسال متن(ا، `40{"sid":"a1"}`)
    دیده‌ها.بیفزا(وب‌سوکت.دریافت متن(ا))
    _ := وب‌سوکت.ارسال متن(ا، `430[{"ok":true,"members":3}]`)
    _ := وب‌سوکت.ارسال متن(ا، `4217["تأیید","سفارش ۱۰۴۲"]`)
    دیده‌ها.بیفزا(وب‌سوکت.دریافت متن(ا))
    _ := وب‌سوکت.ارسال متن(ا، "41")
    _ := وب‌سوکت.دریافت با مهلت(ا، ۱۰۰۰)
    وب‌سوکت.بستن(ا)
پایان

تابع ریشه:
    سرور من = وب‌سوکت.شنود(۰)
    نخ := نخ‌ساز(سرور ساختگی)
    ناپایا گزینه := سوکت‌آیاو.گزینه‌های جدید()
    گزینه.حمل‌ونقل = سوکت‌آیاو.حمل‌ونقل وب‌سوکت
    گزینه.اتصال دوباره = نادرست
    کارخواه := سوکت‌آیاو.اتصال با("http://127.0.0.1:" + وب‌سوکت.درگاه(سرور من)، گزینه)

    ناپایا آرگ‌ها := سوکت‌آیاو.آرگومان جدید()
    سوکت‌آیاو.افزودن رشته(آرگ‌ها، "اتاق-۱")
    ناپایا پاسخ سرور := سوکت‌آیاو.ارسال منتظر تایید(کارخواه، "پیوستن"، آرگ‌ها، ۲۰۰۰)
    سوکت‌آیاو.آزادسازی آرگومان(آرگ‌ها)
    سرچاپ "پاسخ پیوستن:"، پاسخ سرور.رسیده، "اعضا:"، جیسون.دریافت عدد(سوکت‌آیاو.آرگومان تایید(پاسخ سرور، ۰)، "members")
    سوکت‌آیاو.آزادسازی تایید(پاسخ سرور)

    ناپایا ادامه := درست
    تا ادامه:
        رخداد := سوکت‌آیاو.بعدی(کارخواه، ۳۰۰۰)
        اگر رخداد.نوع برابر سوکت‌آیاو.رویداد پیام و رخداد.نام برابر "تأیید":
            سرچاپ "سرور می‌پرسد:"، سوکت‌آیاو.آرگومان رشته(رخداد، ۰)، "شناسه‌ی تایید"، رخداد.شماره تایید
            _ := سوکت‌آیاو.پاسخ رشته(رخداد، "بله")
        وگرنه رخداد.نوع برابر سوکت‌آیاو.رویداد قطع یا رخداد.نوع برابر سوکت‌آیاو.رویداد مهلت:
            ادامه = نادرست
        پایان
    پایان
    سوکت‌آیاو.بستن(کارخواه)
    نخ‌پیوند(نخ)
    وب‌سوکت.بستن سرور(سرور من)
    سرچاپ "سرور دید:"
    هر سطر در دیده‌ها: سرچاپ " "، سطر پایان
پایان
خروجیپاسخ پیوستن: true اعضا: 3 سرور می‌پرسد: سفارش ۱۰۴۲ شناسه‌ی تایید 17 سرور دید: 420["پیوستن","اتاق-۱"] 4317["بله"]

به هر رویداد تأییدخواه یک بار پاسخ دهید. سرورها معمولاً روی emitWithAck خودشان مهلت می‌گذارند، پس پیش از شروع کار کند پاسخ دهید، یا با وضعیت «شروع شد» پاسخ دهید و نتیجه را جدا به شکل یک رویداد بفرستید.

رباتی که وصل می‌ماند

یک کارخواه بلندمدت به اتاقی می‌پیوندد، به برخی پیام‌ها پاسخ می‌دهد و از مشکلات شبکه جان سالم به در می‌برد. ارسال منتظر تایید رویدادی می‌فرستد و منتظر پاسخ سرور می‌ماند و از همین راه می‌فهمید پیوستن انجام شده است. سپس اجرا تا بسته شدن کارخواه به رویدادها رسیدگی می‌کند و پس از قطع اتصال خودش دوباره وصل می‌شود؛ reconnection_delay میلی‌ثانیه صبر می‌کند و هر بار بیشتر، تا reconnection_delay_max. شنونده‌های disconnect و reconnect اجازه می‌دهند هر دو را ثبت کنید.

net-socketio-chat-bot.salam
واردسازی شبکه.سوکت‌آیاو
واردسازی رشته

ناپایا کارخواه := سوکت‌آیاو.کارخواه {}

تابع ریشه:
    ناپایا گزینه := سوکت‌آیاو.گزینه‌های جدید()
    گزینه.تعداد کوشش اتصال دوباره = ۱۰
    گزینه.تاخیر اتصال دوباره = ۲۰۰۰
    کارخواه = سوکت‌آیاو.اتصال با("http://localhost:3000"، گزینه)
    اگر وارونه سوکت‌آیاو.متصل است(کارخواه):
        سرچاپ "به گفتگو دسترسی نیست:"، سوکت‌آیاو.آخرین خطا(کارخواه)
        برگشت ۱
    پایان

    ناپایا آرگومان‌ها := سوکت‌آیاو.آرگومان جدید()
    سوکت‌آیاو.افزودن رشته(آرگومان‌ها، "support")
    ناپایا تایید := سوکت‌آیاو.ارسال منتظر تایید(کارخواه، "join"، آرگومان‌ها، ۵۰۰۰)
    سوکت‌آیاو.آزادسازی آرگومان(آرگومان‌ها)
    اگر وارونه تایید.رسیده:
        سرچاپ "پیوستن به اتاق از مهلت گذشت"
        برگشت ۱
    پایان
    سرچاپ "به اتاق پشتیبانی پیوستیم، شمار اعضا:"، سوکت‌آیاو.عدد تایید(تایید، ۰)
    سوکت‌آیاو.آزادسازی تایید(تایید)

    سوکت‌آیاو.روی(کارخواه، "message"، (رخداد: سوکت‌آیاو.رویداد):
        متن := سوکت‌آیاو.آرگومان رشته(رخداد، ۱)
        اگر رشته.شروع با(متن، "!time"):
            _ := سوکت‌آیاو.ارسال رشته(کارخواه، "message"، "ساعت کاری ۹ تا ۱۷ است")
        پایان
    پایان)
    سوکت‌آیاو.روی(کارخواه، "disconnect"، (رخداد: سوکت‌آیاو.رویداد):
        سرچاپ "اتصال از دست رفت:"، رخداد.پیام
    پایان)
    سوکت‌آیاو.روی(کارخواه، "reconnect"، (رخداد: سوکت‌آیاو.رویداد):
        _ := رخداد
        سرچاپ "برگشتیم پس از"، سوکت‌آیاو.تلاش‌ها(کارخواه)، "تلاش"
    پایان)
    سوکت‌آیاو.اجرا(کارخواه)
    برگشت ۰
پایان

رباتی که فقط به رویدادها واکنش نشان می‌دهد می‌تواند تمام عمرش در اجرا بماند؛ این تابع وقتی بستن صدا زده شود یا اتصال دوباره ناامید شود برمی‌گردد.

کدام راه برای دریافت

وضعیتتابع
برنامه فقط به رویدادها واکنش نشان می‌دهدشنونده‌های روی و اجرا
آزمون یا اسکریپتی که مدتی کار می‌کند و تمام می‌شوداجرا برای
حلقه‌ی اصلی خودتان، با کارهای دیگر میان رویدادهاپمپ با مهلت کوتاه، یک بار در هر دور حلقه
هر بار یک رویداد، به ترتیب، بدون تابع بازگشتیبعدی
چند فضای نام روی یک اتصالمدیر جدید، از، سپس پمپ مدیر

گونه‌ها

بایت‌ها Bytes

ساختار بایت‌ها
بایت‌های یک بخش دودویی.
نامانگلیسیگونهتوضیح
اشاره‌گرptrتهی*اشاره‌گر.
طولlenصحیح = 0طول.
net-socketio-Bytes.salam
واردسازی شبکه.سوکت‌آیاو

تابع ریشه:
    ناپایا ب := سوکت‌آیاو.بایت از رشته("Salam")
    سرچاپ ب.طول، سوکت‌آیاو.بایت در(ب، ۰)
    سرچاپ سوکت‌آیاو.بایت به رشته(ب)
    سرچاپ سوکت‌آیاو.بایت به بیس۶۴(ب)
    سوکت‌آیاو.آزادسازی بایت(ب)
    ناپایا ک := سوکت‌آیاو.بایت جدید("hello" برگردان تهی*، ۴)
    سرچاپ سوکت‌آیاو.بایت به رشته(ک)
    سوکت‌آیاو.آزادسازی بایت(ک)

    ناپایا آ := سوکت‌آیاو.آرگومان جدید()
    سوکت‌آیاو.افزودن رشته(آ، "file.txt")
    سوکت‌آیاو.افزودن رشته دودویی(آ، "abc")
    سرچاپ سوکت‌آیاو.جیسون آرگومان(آ، "upload")
    سرچاپ آ.بخش‌های دودویی.طول()
    سوکت‌آیاو.آزادسازی آرگومان(آ)
پایان
خروجی5 83 Salam U2FsYW0= hell ["upload","file.txt",{"_placeholder":true,"num":0}] 1

بسته Packet

ساختار بسته
یک بسته‌ی Socket.IO.
نامانگلیسیگونهتوضیح
نوعkindصحیح = -1نوع.
فضای نامnspرشته = "/"فضای نام.
شماره تاییدidصحیح = -1شماره‌ی تایید؛ ۱- یعنی بدون تایید.
دادهdataرشته = ""داده به شکل جیسون.
پیوست‌هاattachmentsصحیح = 0شمار بخش‌های دودویی.
خوانده‌شدهokمنطقی = نادرستبسته درست خوانده شد.
net-socketio-Packet.salam
واردسازی شبکه.سوکت‌آیاو

تابع ریشه:
    ناپایا ب := سوکت‌آیاو.بسته {}
    ب.نوع = سوکت‌آیاو.بسته رویداد
    ب.فضای نام = "/chat"
    ب.شماره تایید = ۷
    ب.داده = `["hi",1]`
    متن := سوکت‌آیاو.رمزگذاری بسته(ب)
    سرچاپ متن
    د := سوکت‌آیاو.رمزگشایی بسته(متن)
    سرچاپ د.خوانده‌شده، د.نوع، د.فضای نام، د.شماره تایید، د.داده
    خطا := سوکت‌آیاو.رمزگشایی بسته("x")
    سرچاپ خطا.خوانده‌شده

    بار := سوکت‌آیاو.رمزگذاری موتور(سوکت‌آیاو.پیام موتور، متن)
    سرچاپ بار
    سرچاپ سوکت‌آیاو.نوع موتور(بار) == سوکت‌آیاو.پیام موتور
    سرچاپ سوکت‌آیاو.بدنه موتور(بار)

    ناپایا فهرست := وکتور {} برگردان وکتور<رشته>
    فهرست.افزودن("2")
    فهرست.افزودن(بار)
    بدنه := سوکت‌آیاو.پیوستن بارها(فهرست)
    تکه‌ها := سوکت‌آیاو.جداسازی بارها(بدنه)
    سرچاپ تکه‌ها.طول()، تکه‌ها.دریافت(۰)، تکه‌ها.دریافت(۱)

    آرایه := سوکت‌آیاو.جداسازی آرایه جیسون(`["a", {"b":[1,2]}, 3]`)
    سرچاپ آرایه.طول()، آرایه.دریافت(۱)

    ج := سوکت‌آیاو.جانگهدار(۰)
    سرچاپ ج
    سرچاپ سوکت‌آیاو.شماره جانگهدار(ج)، سوکت‌آیاو.شماره جانگهدار("12")
پایان
خروجی2/chat,7["hi",1] true 2 /chat 7 ["hi",1] false 42/chat,7["hi",1] true 2/chat,7["hi",1] 2 2 42/chat,7["hi",1] 3 {"b":[1,2]} {"_placeholder":true,"num":0} 0 -1

مشخصات نقطه پایانی Endpoint

ساختار مشخصات نقطه پایانی
نشانی تجزیه‌شده‌ی سرور.
نامانگلیسیگونهتوضیح
امنsecureمنطقی = نادرستHTTPS یا WSS.
میزبانhostرشته = "localhost"میزبان.
درگاهportصحیح = 80درگاه؛ اگر نیامده، ۸۰ یا ۴۴۳.
مسیرpathرشته = "/socket.io"مسیر Socket.IO.
فضای نامnamespaceرشته = "/"فضای نام، از مسیر نشانی.
پرسمانqueryرشته = ""پرس‌وجو.
معتبرokمنطقی = نادرستنشانی معتبر است.
net-socketio-URL.salam
واردسازی شبکه.سوکت‌آیاو

تابع نمایش(نشانی: رشته):
    ن := سوکت‌آیاو.تجزیه نشانی(نشانی)
    اگر وارونه ن.معتبر:
        سرچاپ نشانی، "نامعتبر"
        برگشت
    پایان
    سرچاپ ن.میزبان، ن.درگاه، ن.امن، ن.فضای نام، "پرس‌وجو=" + ن.پرسمان
    سرچاپ سوکت‌آیاو.مبدا(ن)
پایان

تابع ریشه:
    نمایش("http://localhost:3000")
    نمایش("https://example.com/admin/?token=abc")
    نمایش("ws://[::1]:8080/chat")
    نمایش("ftp://example.com")
پایان
خروجیlocalhost 3000 false / پرس‌وجو= http://localhost:3000 example.com 443 true /admin پرس‌وجو=token=abc https://example.com ::1 8080 false /chat پرس‌وجو= http://[::1]:8080 ftp://example.com نامعتبر

آرگومان‌ها Args

ساختار آرگومان‌ها
آرگومان‌های یک پیام.
نامانگلیسیگونهتوضیح
آرگومان‌هاitemsوکتور<رشته>آرگومان‌ها به شکل جیسون.
بخش‌های دودوییbinsوکتور<بایت‌ها>بخش‌های دودویی.
net-socketio-Args.salam
واردسازی شبکه.سوکت‌آیاو
واردسازی کدگذاری.مقدار

تابع ریشه:
    ناپایا آ := سوکت‌آیاو.آرگومان جدید()
    سوکت‌آیاو.افزودن رشته(آ، "سلام \"دنیا\"")
    سوکت‌آیاو.افزودن عدد(آ، ۴۲)
    سوکت‌آیاو.افزودن اعشاری(آ، ۲.۵)
    سوکت‌آیاو.افزودن بولی(آ، درست)
    سوکت‌آیاو.افزودن تهی(آ)
    سوکت‌آیاو.افزودن جیسون(آ، `{"x":1}`)
    سرچاپ سوکت‌آیاو.شمار آرگومان(آ)
    متن := سوکت‌آیاو.جیسون آرگومان(آ، "پیام")
    سرچاپ متن
    سرچاپ سوکت‌آیاو.شمار عنصر(متن)
    سرچاپ سوکت‌آیاو.عنصر رشته‌ای(متن، ۱)
    سرچاپ سوکت‌آیاو.عنصر عددی(متن، ۲)
    سرچاپ سوکت‌آیاو.عنصر اعشاری(متن، ۳)
    سرچاپ سوکت‌آیاو.عنصر بولی(متن، ۴)
    سرچاپ سوکت‌آیاو.عنصر(متن، ۶)
    سرچاپ سوکت‌آیاو.عنصر(متن، ۹).طول()
    سوکت‌آیاو.آزادسازی آرگومان(آ)

    ناپایا م := سوکت‌آیاو.مقدار عنصر(متن، ۲)
    سرچاپ مقدار.عدد است(م)، مقدار.به صحیح(م)
    ناپایا آ۲ := سوکت‌آیاو.آرگومان جدید()
    سوکت‌آیاو.افزودن مقدار(آ۲، م)
    سوکت‌آیاو.افزودن بایت(آ۲، "xyz" برگردان تهی*، ۳)
    سرچاپ سوکت‌آیاو.جیسون آرگومان(آ۲، "")
    سوکت‌آیاو.آزادسازی آرگومان(آ۲)
    مقدار.آزادسازی مقدار(م)
پایان
خروجی6 ["پیام","سلام \"دنیا\"",42,2.5,true,null,{"x":1}] 7 سلام "دنیا" 42 2.5 true {"x":1} 0 true 42 [42,{"_placeholder":true,"num":0}]

گزینه‌ها Options

ساختار گزینه‌ها
گزینه‌های اتصال.
نامانگلیسیگونهتوضیح
مسیرpathرشته = "/socket.io"مسیر سرور Socket.IO.
پرسمانqueryرشته = ""پرس‌وجوی اضافه برای نشانی.
احراز هویتauthرشته = ""داده‌ی احراز هویت به شکل جیسون که با اتصال به فضای نام فرستاده می‌شود.
سرآیندهاheadersرشته = ""سرآیندهای اضافه‌ی HTTP، هر کدام در یک خط.
حمل‌ونقلtransportsصحیححمل‌ونقل، یکی از ثابت‌های حمل‌ونقل ....
اتصال دوبارهreconnectionمنطقی = درستپس از قطع، خودکار دوباره وصل شود.
تعداد کوشش اتصال دوبارهreconnection_attemptsصحیح = 0بیشترین تلاش؛ صفر یعنی بی‌حد.
تاخیر اتصال دوبارهreconnection_delayصحیح = 1000تاخیر نخستین تلاش بر حسب میلی‌ثانیه؛ هر بار دو برابر می‌شود.
بیشترین تاخیر اتصال دوبارهreconnection_delay_maxصحیح = 5000بیشترین تاخیر.
ضریب تصادفیrandomization_factorصحیح = 50درصد تصادفی که به تاخیر افزوده یا از آن کم می‌شود تا همه‌ی کارخواه‌ها هم‌زمان برنگردند.
مهلتtimeoutصحیح = 20000مهلت اتصال بر حسب میلی‌ثانیه.
ناامنinsecureمنطقی = نادرستگواهی TLS بررسی نشود؛ فقط برای آزمایش.
اتصال خودکارauto_connectمنطقی = درستکارخواه بی‌درنگ وصل شود.
صف رویدادevent_queueصحیح = 256بیشترین تعداد رویدادی که بعدی منتظر نگه می‌دارد؛ وقتی پر شود قدیمی‌ترین دور ریخته می‌شود.
مهلت تاییدack_timeoutصحیح = 0مهلت تأیید به میلی‌ثانیه، وقتی به ارسال منتظر تایید صفر داده شود.
کوشش دوبارهretriesصحیح = 0شمار تلاش دوباره برای پیام‌هایی که تایید نگرفتند.
اسلش پایانیtrailing_slashمنطقی = درستبه انتهای مسیر اسلش افزوده شود، مثل کارخواه جاوااسکریپت.
به خاطر سپردن ارتقاremember_upgradeمنطقی = نادرستاگر ارتقا به وب‌سوکت یک بار جواب داد، دفعه‌ی بعد مستقیم وب‌سوکت.
net-socketio-Options.salam
واردسازی شبکه.سوکت‌آیاو

تابع ریشه:
    ناپایا گ := سوکت‌آیاو.گزینه‌های جدید()
    سرچاپ گ.مسیر، گ.اتصال دوباره، گ.تاخیر اتصال دوباره، گ.مهلت
    سرچاپ گ.حمل‌ونقل == سوکت‌آیاو.حمل‌ونقل خودکار
    گ.حمل‌ونقل = سوکت‌آیاو.حمل‌ونقل وب‌سوکت
    گ.احراز هویت = `{"token":"abc"}`
    گ.اتصال خودکار = نادرست
    سرچاپ گ.حمل‌ونقل، گ.احراز هویت، گ.اتصال خودکار
    سرچاپ سوکت‌آیاو.حمل‌ونقل نظرخواهی، سوکت‌آیاو.قطع توسط سرور، سوکت‌آیاو.دلیل مهلت پینگ
    سرچاپ سوکت‌آیاو.پمپ موفق، سوکت‌آیاو.پمپ مهلت، سوکت‌آیاو.پمپ بسته
پایان
خروجی/socket.io true 1000 20000 true 1 {"token":"abc"} false 2 io server disconnect ping timeout 0 1 2

کارخواه Client

ساختار کارخواه
یک سوکت روی یک فضای نام.
نامانگلیسیگونهتوضیح
اشاره‌گر داخلیpتهی*اشاره‌گر داخلی.
net-socketio-Client.salam
واردسازی شبکه.سوکت‌آیاو
واردسازی شبکه.وب‌سوکت
واردسازی رشته

ناپایا سرور := وب‌سوکت.سرور {}
ناپایا گزارش := ""

تابع سرور آزمایشی():
    ناپایا ا := وب‌سوکت.پذیرش(سرور)
    _ := وب‌سوکت.ارسال متن(ا، `0{"sid":"s1","upgrades":[],"pingInterval":20000,"pingTimeout":5000}`)
    ناپایا ادامه := درست
    تا ادامه:
        پ := وب‌سوکت.دریافت با مهلت(ا، ۳۰۰۰)
        اگر پ.نوع != وب‌سوکت.متن:
            بشکن
        پایان
        بسته‌ی سوکت := پ.متن.زیررشته(۱، پ.متن.طول() - ۱)
        اگر بسته‌ی سوکت == "0":
            _ := وب‌سوکت.ارسال متن(ا، `40{"sid":"a1"}`)
        وگرنه رشته.شروع با(بسته‌ی سوکت، `2["chat"`):
            _ := وب‌سوکت.ارسال متن(ا، `42["chat","خوش آمدی"]`)
            _ := وب‌سوکت.ارسال متن(ا، `429["question","2+2"]`)
        وگرنه رشته.شامل است(بسته‌ی سوکت، `"add"`):
            شناسه := بسته‌ی سوکت.زیررشته(۱، رشته.یافتن(بسته‌ی سوکت، "[") - ۱)
            _ := وب‌سوکت.ارسال متن(ا، "43" + شناسه + "[5]")
        وگرنه رشته.شروع با(بسته‌ی سوکت، "39"):
            گزارش += "پاسخ: " + بسته‌ی سوکت.زیررشته(۲، بسته‌ی سوکت.طول() - ۲)
        وگرنه بسته‌ی سوکت == "1":
            ادامه = نادرست
        پایان
    پایان
    وب‌سوکت.بستن(ا)
پایان

تابع ریشه:
    سرور = وب‌سوکت.شنود(۰)
    ن := نخ‌ساز(سرور آزمایشی)
    ناپایا گ := سوکت‌آیاو.گزینه‌های جدید()
    گ.حمل‌ونقل = سوکت‌آیاو.حمل‌ونقل وب‌سوکت
    گ.اتصال دوباره = نادرست
    ک := سوکت‌آیاو.اتصال با("http://127.0.0.1:" + وب‌سوکت.درگاه(سرور)، گ)
    سرچاپ سوکت‌آیاو.متصل است(ک)، سوکت‌آیاو.شناسه نشست(ک)، سوکت‌آیاو.شناسه(ک)، سوکت‌آیاو.فضای نام(ک)، سوکت‌آیاو.نام حمل‌ونقل(ک)

    سوکت‌آیاو.روی(ک، "chat"، (ر: سوکت‌آیاو.رویداد):
        سرچاپ "پیام:"، سوکت‌آیاو.آرگومان رشته(ر، ۰)
    پایان)
    سوکت‌آیاو.روی(ک، "question"، (ر: سوکت‌آیاو.رویداد):
        سرچاپ "پرسش:"، سوکت‌آیاو.آرگومان رشته(ر، ۰)، ر.شماره تایید >= ۰
        _ := سوکت‌آیاو.پاسخ رشته(ر، "چهار")
    پایان)
    سرچاپ سوکت‌آیاو.شمار شنونده(ک، "chat")، سوکت‌آیاو.شنونده دارد(ک، "news")
    _ := سوکت‌آیاو.ارسال رشته(ک، "chat"، "سلام")
    سوکت‌آیاو.اجرا برای(ک، ۵۰۰)

    ناپایا آ := سوکت‌آیاو.آرگومان جدید()
    سوکت‌آیاو.افزودن عدد(آ، ۲)
    سوکت‌آیاو.افزودن عدد(آ، ۳)
    ناپایا ت := سوکت‌آیاو.ارسال منتظر تایید(ک، "add"، آ، ۲۰۰۰)
    سرچاپ ت.رسیده، سوکت‌آیاو.عدد تایید(ت، ۰)
    سوکت‌آیاو.آزادسازی تایید(ت)
    سوکت‌آیاو.آزادسازی آرگومان(آ)

    سوکت‌آیاو.بستن(ک)
    نخ‌پیوند(ن)
    وب‌سوکت.بستن سرور(سرور)
    سرچاپ گزارش
پایان
خروجیtrue s1 a1 / websocket 1 false پیام: خوش آمدی پرسش: 2+2 true true 5 پاسخ: ["چهار"]

مدیر Manager

ساختار مدیر
اتصالی که چند فضای نام روی آن کار می‌کنند.
نامانگلیسیگونهتوضیح
اشاره‌گر داخلیpتهی*اشاره‌گر داخلی.
net-socketio-Manager.salam
واردسازی شبکه.سوکت‌آیاو

تابع ریشه:
    ناپایا گ := سوکت‌آیاو.گزینه‌های جدید()
    گ.احراز هویت = `{"token":"abc"}`
    گ.اتصال خودکار = نادرست
    م := سوکت‌آیاو.مدیر جدید("https://example.com"، گ)
    سوکت‌آیاو.تنظیم اتصال دوباره(م، درست)
    سوکت‌آیاو.تنظیم شمار اتصال دوباره(م، ۵)
    سوکت‌آیاو.تنظیم تاخیر دوباره(م، ۵۰۰)
    سوکت‌آیاو.تنظیم بیشینه تاخیر(م، ۱۰۰۰۰)
    سوکت‌آیاو.تنظیم ضریب تصادفی(م، ۲۰)
    سوکت‌آیاو.تنظیم مهلت(م، ۵۰۰۰)
    سرچاپ سوکت‌آیاو.گزینه‌های مدیر(م).تعداد کوشش اتصال دوباره

    عمومی := سوکت‌آیاو.از(م، "/")
    مدیریت := سوکت‌آیاو.از(م، "/admin")
    سوکت‌آیاو.تنظیم احراز(مدیریت، `{"role":"admin"}`)
    سرچاپ سوکت‌آیاو.احراز(مدیریت)، سوکت‌آیاو.سوکت‌ها(م).طول()
    اگر وارونه سوکت‌آیاو.باز کردن(م):
        سرچاپ "خطا:"، سوکت‌آیاو.خطای مدیر(م)
        برگشت
    پایان
    سرچاپ سوکت‌آیاو.باز است(م)
    _ := سوکت‌آیاو.وصل شدن(عمومی)
    _ := سوکت‌آیاو.وصل شدن(مدیریت)
    اگر سوکت‌آیاو.رد شده(مدیریت):
        سرچاپ "رد شد:"، سوکت‌آیاو.دلیل رد(مدیریت)
    پایان
    سرچاپ سوکت‌آیاو.فعال(عمومی)، سوکت‌آیاو.قطع شده(عمومی)، سوکت‌آیاو.بازیابی شده(عمومی)
    سرچاپ سوکت‌آیاو.حمل‌ونقل(عمومی)، سوکت‌آیاو.بازه پینگ(عمومی)، سوکت‌آیاو.مهلت پینگ(عمومی)، سوکت‌آیاو.بیشینه بار(عمومی)
    سرچاپ سوکت‌آیاو.بافر شده(عمومی)، سوکت‌آیاو.در انتظار(عمومی)، سوکت‌آیاو.در صف(عمومی)، سوکت‌آیاو.تلاش‌ها(عمومی)
    سرچاپ سوکت‌آیاو.نقطه پایانی(عمومی).میزبان، سوکت‌آیاو.مدیر کلاینت(عمومی).اشاره‌گر داخلی == م.اشاره‌گر داخلی
    _ := سوکت‌آیاو.پمپ مدیر(م، ۱۰۰۰)
    سوکت‌آیاو.قطع اتصال(مدیریت)
    سوکت‌آیاو.بستن مدیر(م)
پایان

رویداد Event

ساختار رویداد
رویدادی که رسیده.
نامانگلیسیگونهتوضیح
نوعkindصحیحنوع رویداد.
نامnameرشته = ""نام رویداد.
فضای نامnspرشته = "/"فضای نام.
دادهdataرشته = "[]"آرگومان‌ها به شکل آرایه‌ی جیسون.
شماره تاییدack_idصحیح = -1اگر فرستنده تایید می‌خواهد، شماره‌ی آن؛ وگرنه ۱-.
پیامmessageرشته = ""برای رویدادهای خطا و قطع، توضیح.
بخش‌های دودوییbinsوکتور<بایت‌ها>بخش‌های دودویی.
کارخواهclientکارخواهسوکتی که رویداد را گرفت.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

تایید Ack

ساختار تایید
پاسخ تایید.
نامانگلیسیگونهتوضیح
رسیدهokمنطقی = نادرستپاسخ پیش از مهلت رسید.
شماره تاییدidصحیح = -1شماره‌ی تایید.
دادهdataرشته = "[]"آرگومان‌ها به شکل آرایه‌ی جیسون.
بخش‌های دودوییbinsوکتور<بایت‌ها>بخش‌های دودویی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

پایاها و متغیرها

نوع بسته‌های موتور EIO_…

Socket.IO روی لایه‌ای به نام Engine.IO کار می‌کند. هر پیام این لایه با یک رقم آغاز می‌شود که نوعش را می‌گوید: باز کردن، بستن، پینگ، پونگ، پیام، ارتقا و بی‌کار. بسته‌های Socket.IO درون پیام‌های نوع «پیام» می‌آیند.
نامانگلیسیمقدار
باز کردن موتورEIO_OPEN0
بستن موتورEIO_CLOSE1
پینگ موتورEIO_PING2
پونگ موتورEIO_PONG3
پیام موتورEIO_MESSAGE4
ارتقای موتورEIO_UPGRADE5
بی‌کار موتورEIO_NOOP6

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Packet.salam

نوع بسته‌های سوکت‌آیاو PKT_…

نوع بسته‌های Socket.IO: اتصال به یک فضای نام، قطع، رویداد، تایید، خطای اتصال، و رویداد و تایید دودویی که بایت‌هایشان جدا پس از بسته می‌آیند.
نامانگلیسیمقدار
بسته اتصالPKT_CONNECT0
بسته قطع اتصالPKT_DISCONNECT1
بسته رویدادPKT_EVENT2
بسته تاییدPKT_ACK3
خطای اتصالPKT_CONNECT_ERROR4
رویداد دودوییPKT_BINARY_EVENT5
تایید دودوییPKT_BINARY_ACK6

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Packet.salam

حمل‌ونقل خودکار TRANSPORT_AUTO

پایا حمل‌ونقل خودکار: صحیح۳۲ = 0
حمل‌ونقل: اول نظرخواهی HTTP، بعد ارتقا به وب‌سوکت اگر سرور اجازه دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Options.salam

حمل‌ونقل وب‌سوکت TRANSPORT_WEBSOCKET

پایا حمل‌ونقل وب‌سوکت: صحیح۳۲ = 1
حمل‌ونقل: فقط وب‌سوکت.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

حمل‌ونقل نظرخواهی TRANSPORT_POLLING

پایا حمل‌ونقل نظرخواهی: صحیح۳۲ = 2
حمل‌ونقل: فقط نظرخواهی HTTP.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Options.salam

نوع رویدادها EV_…

مقدار فیلد kind در رویدادی که بعدی برمی‌گرداند. رویداد پیام همان پیام‌های سرورند؛ بقیه از خود اتصال خبر می‌دهند: وصل و قطع شدن، خطا، تلاش‌های اتصال دوباره، پینگ، مهلت و ارتقا به وب‌سوکت. شنونده‌ها با نام انگلیسی این رویدادها صدا زده می‌شوند، مثل connect و disconnect.
نامانگلیسیمقدار
بدون رویدادEV_NONE0
رویداد پیامEV_EVENT1
رویداد اتصالEV_CONNECT2
رویداد قطعEV_DISCONNECT3
رویداد خطای اتصالEV_CONNECT_ERROR4
رویداد خطاEV_ERROR5
رویداد اتصال دوبارهEV_RECONNECT6
رویداد کوشش دوبارهEV_RECONNECT_ATTEMPT7
رویداد خطای دوبارهEV_RECONNECT_ERROR8
رویداد شکست دوبارهEV_RECONNECT_FAILED9
رویداد پینگEV_PING10
رویداد مهلتEV_TIMEOUT11
رویداد ارتقاEV_UPGRADE12
net-socketio-Ack.salam
واردسازی شبکه.سوکت‌آیاو
واردسازی کدگذاری.مقدار

تابع ریشه:
    ک := سوکت‌آیاو.اتصال("http://localhost:3000")
    اگر وارونه سوکت‌آیاو.متصل است(ک):
        سرچاپ سوکت‌آیاو.آخرین خطا(ک)
        برگشت
    پایان
    سوکت‌آیاو.روی دلخواه(ک، (ر: سوکت‌آیاو.رویداد):
        سرچاپ "رسید:"، ر.نام، سوکت‌آیاو.شمار آرگومان رویداد(ر)
    پایان)
    سوکت‌آیاو.یک‌بار(ک، "welcome"، (ر: سوکت‌آیاو.رویداد):
        سرچاپ سوکت‌آیاو.آرگومان(ر، ۰)
    پایان)
    سوکت‌آیاو.روی دلخواه خروجی(ک، (ر: سوکت‌آیاو.رویداد):
        سرچاپ "فرستاده شد:"، ر.نام
    پایان)

    سوکت‌آیاو.پیش‌افزودن دلخواه(ک، (ر: سوکت‌آیاو.رویداد):
        سرچاپ "پیش از همه:"، ر.نام
    پایان)
    سوکت‌آیاو.پیش‌افزودن دلخواه خروجی(ک، (ر: سوکت‌آیاو.رویداد):
        سرچاپ "در حال فرستادن:"، ر.نام
    پایان)
    سرچاپ سوکت‌آیاو.شمار شنونده دلخواه(ک)

    _ := سوکت‌آیاو.ارسال(ک، "ping")
    _ := سوکت‌آیاو.ارسال عدد(ک، "score"، ۱۲)
    _ := سوکت‌آیاو.ارسال اعشاری(ک، "temp"، ۲۱.۵)
    _ := سوکت‌آیاو.ارسال بولی(ک، "ready"، درست)
    _ := سوکت‌آیاو.ارسال جیسون(ک، "user"، `{"name":"علی"}`)
    _ := سوکت‌آیاو.ارسال بایت(ک، "file"، "abc" برگردان تهی*، ۳)
    _ := سوکت‌آیاو.فرستادن(ک، "یک پیام ساده")

    ناپایا آ := سوکت‌آیاو.آرگومان جدید()
    سوکت‌آیاو.افزودن رشته(آ، "room-1")
    _ := سوکت‌آیاو.ارسال با آرگومان(ک، "join"، آ)
    _ := سوکت‌آیاو.ارسال ناپایدار(ک، "cursor"، آ)
    _ := سوکت‌آیاو.ارسال با تایید(ک، "join"، آ، ۲۰۰۰، (ت: سوکت‌آیاو.تایید):
        سرچاپ ت.رسیده، سوکت‌آیاو.شمار تایید(ت)، سوکت‌آیاو.رشته تایید(ت، ۰)
        سرچاپ سوکت‌آیاو.آرگومان تایید(ت، ۱)، سوکت‌آیاو.اعشار تایید(ت، ۱)، سوکت‌آیاو.بولی تایید(ت، ۲)
        اگر سوکت‌آیاو.تایید دودویی است(ت، ۳):
            سرچاپ سوکت‌آیاو.بایت تایید(ت، ۳).طول
        پایان
        ناپایا م := سوکت‌آیاو.مقدار تایید(ت، ۰)
        مقدار.آزادسازی مقدار(م)
    پایان)
    سوکت‌آیاو.آزادسازی آرگومان(آ)

    ناپایا ر := سوکت‌آیاو.بعدی(ک، ۵۰۰۰)
    اگر ر.نوع == سوکت‌آیاو.رویداد پیام:
        سرچاپ سوکت‌آیاو.آرگومان عددی(ر، ۰)، سوکت‌آیاو.آرگومان اعشاری(ر، ۱)، سوکت‌آیاو.آرگومان بولی(ر، ۲)
        اگر سوکت‌آیاو.آرگومان دودویی است(ر، ۳):
            ب := سوکت‌آیاو.آرگومان بایتی(ر، ۳)
            سرچاپ ب.طول
        پایان
        اگر ر.شماره تایید >= ۰:
            _ := سوکت‌آیاو.پاسخ جیسون(ر، `{"ok":true}`)
        پایان
    وگرنه ر.نوع == سوکت‌آیاو.رویداد قطع:
        سرچاپ "قطع شد:"، ر.پیام
    پایان
    سوکت‌آیاو.آزادسازی رویداد(ر)

    ناپایا ر۲ := سوکت‌آیاو.رویداد بعدی(ک، ۵۰۰۰)
    ناپایا م۲ := سوکت‌آیاو.مقدار آرگومان(ر۲، ۰)
    سرچاپ مقدار.عدد است(م۲)
    مقدار.آزادسازی مقدار(م۲)
    سوکت‌آیاو.آزادسازی رویداد(ر۲)

    _ := سوکت‌آیاو.پمپ(ک، ۱۰۰)
    سوکت‌آیاو.خاموش(ک، "welcome")
    سوکت‌آیاو.خاموش دلخواه(ک)
    سوکت‌آیاو.خاموش دلخواه خروجی(ک)
    سوکت‌آیاو.خاموش همه(ک)
    سوکت‌آیاو.اجرا(ک)
پایان

دلیل‌های قطع اتصال REASON_…

متنی که در فیلد message رویداد قطع می‌آید و می‌گوید اتصال چرا قطع شد: سرور یا خود برنامه آن را بست، پینگ به‌موقع نرسید، حمل‌ونقل بسته شد یا خطا داد، یا بسته‌ای خوانده نشد.
نامانگلیسیمقدار
قطع توسط سرورREASON_SERVER_DISCONNECT"io server disconnect"
قطع توسط کارخواهREASON_CLIENT_DISCONNECT"io client disconnect"
دلیل مهلت پینگREASON_PING_TIMEOUT"ping timeout"
بسته شدن حمل‌ونقلREASON_TRANSPORT_CLOSE"transport close"
خطای حمل‌ونقلREASON_TRANSPORT_ERROR"transport error"
خطای تجزیهREASON_PARSE_ERROR"parse error"

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Options.salam

نتیجه‌های پمپ PUMP_…

نتیجه‌ی پمپ و پمپ مدیر: چیزی رسید و پردازش شد، مهلت تمام شد، یا اتصال بسته است.
نامانگلیسیمقدار
پمپ موفقPUMP_OK0
پمپ مهلتPUMP_TIMEOUT1
پمپ بستهPUMP_CLOSED2

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Options.salam

تابع‌ها

رمزگذاری بسته EncodePacket

تابع رمزگذاری بسته(p: بسته): رشته
بسته را به متن پروتکل تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Packet.salam

رمزگشایی بسته DecodePacket

تابع رمزگشایی بسته(text: رشته): بسته
متن را به بسته برمی‌گرداند؛ اگر نامعتبر باشد، ok نادرست است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Packet.salam

رمزگذاری موتور EncodeEngine

تابع رمزگذاری موتور(kind: صحیح، body: رشته): رشته
پیام Engine.IO با نوع و بدنه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Packet.salam

نوع موتور EngineKind

تابع نوع موتور(payload: رشته): صحیح
نوع پیام Engine.IO.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Packet.salam

بدنه موتور EngineBody

تابع بدنه موتور(payload: رشته): رشته
بدنه‌ی پیام Engine.IO، بدون رقم نوع.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Packet.salam

جداسازی بارها SplitPayloads

تابع جداسازی بارها(body: رشته): وکتور<رشته>
پاسخ نظرخواهی را به پیام‌ها جدا می‌کند؛ جداکننده نویسه‌ی ۳۰ است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Packet.salam

پیوستن بارها JoinPayloads

تابع پیوستن بارها(items: وکتور<رشته>): رشته
پیام‌ها را برای یک درخواست نظرخواهی به هم می‌چسباند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Packet.salam

جداسازی آرایه جیسون SplitJSONArray

تابع جداسازی آرایه جیسون(text: رشته): وکتور<رشته>
آرایه‌ی جیسون را به متن عنصرهای بالایی‌اش جدا می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Packet.salam

جانگهدار Placeholder

تابع جانگهدار(num: صحیح): رشته
جانگهدار بخش دودویی با این شماره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Packet.salam

شماره جانگهدار PlaceholderNum

تابع شماره جانگهدار(frag: رشته): صحیح
شماره‌ی یک جانگهدار؛ اگر جانگهدار نباشد، ۱-.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Packet.salam

بایت جدید NewBytes

تابع بایت جدید(ptr: تهی*، n: صحیح): بایت‌ها
بایت‌ها را کپی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Bytes.salam

بایت از رشته BytesFromStr

تابع بایت از رشته(s: رشته): بایت‌ها
بایت‌های یک رشته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Bytes.salam

بایت به رشته BytesToStr

تابع بایت به رشته(b: بایت‌ها): رشته
بایت‌ها به شکل رشته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Bytes.salam

بایت به بیس۶۴ BytesToBase64

تابع بایت به بیس۶۴(b: بایت‌ها): رشته
بایت‌ها به شکل بیس۶۴.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Bytes.salam

بایت در BytesAt

تابع بایت در(b: بایت‌ها، i: صحیح): صحیح
یک بایت، از ۰ تا ۲۵۵.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Bytes.salam

آزادسازی بایت BytesFree

تابع آزادسازی بایت(b &: بایت‌ها)
حافظه را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Bytes.salam

تجزیه نشانی ParseURL

تابع تجزیه نشانی(raw: رشته): مشخصات نقطه پایانی
نشانی را تجزیه می‌کند؛ طرح‌های http، https، ws و wss پذیرفته می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-URL.salam

مبدا Origin

تابع مبدا(e: مشخصات نقطه پایانی): رشته
مبدا نشانی، مثل https://example.com؛ درگاه پیش‌فرض نوشته نمی‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-URL.salam

آرگومان جدید NewArgs

تابع آرگومان جدید(): آرگومان‌ها
فهرست آرگومان خالی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

افزودن رشته AddStr

تابع افزودن رشته(a &: آرگومان‌ها، s: رشته)
رشته می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

افزودن عدد AddInt

تابع افزودن عدد(a &: آرگومان‌ها، n: صحیح۶۴)
عدد صحیح.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

افزودن اعشاری AddFloat

تابع افزودن اعشاری(a &: آرگومان‌ها، n: اعشار۶۴)
عدد اعشاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

افزودن بولی AddBool

تابع افزودن بولی(a &: آرگومان‌ها، b: منطقی)
مقدار بولی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

افزودن تهی AddNull

تابع افزودن تهی(a &: آرگومان‌ها)
تهی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

افزودن جیسون AddJSON

تابع افزودن جیسون(a &: آرگومان‌ها، raw: رشته)
متن جیسون آماده؛ رشته‌ی خالی تهی می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

افزودن مقدار AddValue

تابع افزودن مقدار(a &: آرگومان‌ها، v: value.Value)
یک مقدار کدگذاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

افزودن بایت AddBytes

تابع افزودن بایت(a &: آرگومان‌ها، ptr: تهی*، n: صحیح)
بایت‌ها را جدا می‌فرستد و به‌جایشان یک جانگهدار می‌گذارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

افزودن رشته دودویی AddBinaryStr

تابع افزودن رشته دودویی(a &: آرگومان‌ها، s: رشته)
بایت‌های یک رشته را دودویی می‌فرستد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Bytes.salam

شمار آرگومان ArgsCount

تابع شمار آرگومان(a: آرگومان‌ها): صحیح
شمار آرگومان‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

آزادسازی آرگومان ArgsFree

تابع آزادسازی آرگومان(a &: آرگومان‌ها)
حافظه را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

جیسون آرگومان ArgsJSON

تابع جیسون آرگومان(a: آرگومان‌ها، name: رشته): رشته
آرایه‌ی جیسونی که فرستاده می‌شود؛ نام رویداد، اگر خالی نباشد، اول می‌آید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

شمار عنصر ItemCount

تابع شمار عنصر(raw: رشته): صحیح
شمار عنصرهای یک آرایه‌ی جیسون.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

عنصر Item

تابع عنصر(raw: رشته، i: صحیح): رشته
متن جیسون یک عنصر؛ اگر نباشد، رشته‌ی خالی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

عنصر رشته‌ای ItemStr

تابع عنصر رشته‌ای(raw: رشته، i: صحیح): رشته
عنصر به شکل رشته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

عنصر عددی ItemInt

تابع عنصر عددی(raw: رشته، i: صحیح): صحیح۶۴
عنصر به شکل عدد؛ رشته‌ی عددی هم خوانده می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

عنصر اعشاری ItemFloat

تابع عنصر اعشاری(raw: رشته، i: صحیح): اعشار۶۴
عنصر به شکل اعشاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

عنصر بولی ItemBool

تابع عنصر بولی(raw: رشته، i: صحیح): منطقی
عنصر به شکل بولی؛ عدد ناصفر و رشته‌ی true درست حساب می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

مقدار عنصر ItemValue

تابع مقدار عنصر(raw: رشته، i: صحیح): value.Value
عنصر به شکل مقدار کدگذاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Args.salam

گزینه‌های جدید NewOptions

تابع گزینه‌های جدید(): گزینه‌ها
گزینه‌های پیش‌فرض.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

مدیر جدید NewManager

تابع مدیر جدید(url: رشته، opts: گزینه‌ها): مدیر
مدیر تازه برای یک نشانی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

از Of

تابع از(m: مدیر، nsp: رشته): کارخواه
سوکت یک فضای نام روی مدیر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Bytes.salam

مدیر کلاینت ManagerOf

تابع مدیر کلاینت(c: کارخواه): مدیر
مدیری که سوکت روی آن است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

اتصال Dial

تابع اتصال(url: رشته): کارخواه
به نشانی وصل می‌شود؛ مسیر نشانی فضای نام است. اگر وصل نشد، با آخرین خطا ببینید چرا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

اتصال با DialWith

تابع اتصال با(url: رشته، opts: گزینه‌ها): کارخواه
مثل تابع بالا، با گزینه‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

وصل شدن Connect

تابع وصل شدن(c: کارخواه): منطقی
سوکت را وصل می‌کند؛ اگر پیش‌تر وصل بوده، دوباره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

قطع اتصال Disconnect

تابع قطع اتصال(c: کارخواه)
از فضای نام جدا می‌شود؛ اتصال دوباره‌ی خودکار انجام نمی‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

بستن مدیر CloseManager

تابع بستن مدیر(m: مدیر)
اتصال و همه‌ی سوکت‌ها را می‌بندد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

بستن Close

تابع بستن(c: کارخواه)
سوکت را می‌بندد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

پمپ Pump

تابع پمپ(c: کارخواه، timeout_ms: صحیح): صحیح
پیام‌های رسیده را تا این مهلت پردازش و شنونده‌ها را صدا می‌زند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Options.salam

پمپ مدیر PumpManager

تابع پمپ مدیر(m: مدیر، timeout_ms: صحیح): صحیح
مثل تابع بالا، برای همه‌ی سوکت‌های مدیر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

بعدی Next

تابع بعدی(c: کارخواه، timeout_ms: صحیح): رویداد
رویداد بعدی از صف، یا اگر در مهلت چیزی نرسید، رویدادی با نوع رویداد مهلت؛ مهلت منفی یعنی صبر بی‌پایان. شنونده‌ها هم صدا زده می‌شوند. صف با نخستین فراخوانی شروع می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

رویداد بعدی NextEvent

تابع رویداد بعدی(c: کارخواه، timeout_ms: صحیح): رویداد
مثل تابع بالا، ولی فقط رویدادهای پیام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

اجرا Run

تابع اجرا(c: کارخواه)
تا بسته شدن سوکت پیام‌ها را پردازش می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

اجرا برای RunFor

تابع اجرا برای(c: کارخواه، ms: صحیح)
این قدر میلی‌ثانیه پیام‌ها را پردازش می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

روی On

تابع روی(c: کارخواه، name: رشته، cb: تابع(رویداد))
شنونده‌ای برای یک رویداد می‌گذارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

یک‌بار Once

تابع یک‌بار(c: کارخواه، name: رشته، cb: تابع(رویداد))
شنونده‌ای که فقط یک بار صدا زده می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

خاموش Off

تابع خاموش(c: کارخواه، name: رشته)
شنونده‌های یک رویداد را برمی‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

خاموش همه OffAll

تابع خاموش همه(c: کارخواه)
همه‌ی شنونده‌ها را برمی‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

روی دلخواه OnAny

تابع روی دلخواه(c: کارخواه، cb: تابع(رویداد))
شنونده‌ای برای همه‌ی رویدادهای پیام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

خاموش دلخواه OffAny

تابع خاموش دلخواه(c: کارخواه)
شنونده‌های همه‌ی رویدادها را برمی‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

ارسال با آرگومان EmitArgs

تابع ارسال با آرگومان(c: کارخواه، name: رشته، a: آرگومان‌ها): منطقی
رویداد را با آرگومان‌ها می‌فرستد. اگر وصل نیست، پیام در صف می‌ماند. نام‌های رزرو، مثل connect، رد می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

ارسال ناپایدار EmitVolatile

تابع ارسال ناپایدار(c: کارخواه، name: رشته، a: آرگومان‌ها): منطقی
مثل تابع بالا، ولی اگر وصل نیست، پیام دور ریخته می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

ارسال Emit

تابع ارسال(c: کارخواه، name: رشته): منطقی
رویداد بدون آرگومان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

ارسال رشته EmitStr

تابع ارسال رشته(c: کارخواه، name: رشته، s: رشته): منطقی
رویداد با یک رشته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

ارسال عدد EmitInt

تابع ارسال عدد(c: کارخواه، name: رشته، n: صحیح۶۴): منطقی
با یک عدد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

ارسال اعشاری EmitFloat

تابع ارسال اعشاری(c: کارخواه، name: رشته، n: اعشار۶۴): منطقی
با یک اعشاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

ارسال بولی EmitBool

تابع ارسال بولی(c: کارخواه، name: رشته، b: منطقی): منطقی
با یک بولی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

ارسال جیسون EmitJSON

تابع ارسال جیسون(c: کارخواه، name: رشته، raw: رشته): منطقی
با یک متن جیسون.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

ارسال بایت EmitBytes

تابع ارسال بایت(c: کارخواه، name: رشته، ptr: تهی*، n: صحیح): منطقی
با بایت‌های دودویی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

ارسال منتظر تایید EmitAck

تابع ارسال منتظر تایید(c: کارخواه، name: رشته، a: آرگومان‌ها، timeout_ms: صحیح): تایید
رویداد را می‌فرستد و تا رسیدن تأیید یا تمام شدن مهلت منتظر می‌ماند؛ صفر یعنی ack_timeout و مقدار منفی یعنی صبر بی‌پایان. رویدادهای دیگری که در این میان برسند به شنونده‌ها می‌روند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

ارسال با تایید EmitWithAck

تابع ارسال با تایید(c: کارخواه، name: رشته، a: آرگومان‌ها، timeout_ms: صحیح، cb: تابع(تایید)): منطقی
رویداد را می‌فرستد و وقتی تایید رسید یا مهلت تمام شد، تابع داده‌شده را صدا می‌زند؛ منتظر نمی‌ماند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

پاسخ Reply

تابع پاسخ(ev: رویداد، a: آرگومان‌ها): منطقی
به رویدادی که تایید خواسته پاسخ می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

پاسخ جیسون ReplyJSON

تابع پاسخ جیسون(ev: رویداد، raw: رشته): منطقی
پاسخ با یک متن جیسون.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

پاسخ رشته ReplyStr

تابع پاسخ رشته(ev: رویداد، s: رشته): منطقی
پاسخ با یک رشته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

شمار آرگومان رویداد ArgCount

تابع شمار آرگومان رویداد(ev: رویداد): صحیح
شمار آرگومان‌های رویداد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

آرگومان Arg

تابع آرگومان(ev: رویداد، i: صحیح): رشته
متن جیسون یک آرگومان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

آرگومان رشته ArgStr

تابع آرگومان رشته(ev: رویداد، i: صحیح): رشته
آرگومان به شکل رشته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

آرگومان عددی ArgInt

تابع آرگومان عددی(ev: رویداد، i: صحیح): صحیح۶۴
آرگومان عددی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

آرگومان اعشاری ArgFloat

تابع آرگومان اعشاری(ev: رویداد، i: صحیح): اعشار۶۴
آرگومان اعشاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

آرگومان بولی ArgBool

تابع آرگومان بولی(ev: رویداد، i: صحیح): منطقی
آرگومان بولی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

مقدار آرگومان ArgValue

تابع مقدار آرگومان(ev: رویداد، i: صحیح): value.Value
آرگومان به شکل مقدار کدگذاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

آرگومان دودویی است ArgIsBinary

تابع آرگومان دودویی است(ev: رویداد، i: صحیح): منطقی
آرگومان دودویی است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

آرگومان بایتی ArgBytes

تابع آرگومان بایتی(ev: رویداد، i: صحیح): بایت‌ها
بایت‌های آرگومان دودویی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

شمار تایید AckCount

تابع شمار تایید(a: تایید): صحیح
شمار آرگومان‌های تایید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

آرگومان تایید AckArg

تابع آرگومان تایید(a: تایید، i: صحیح): رشته
متن جیسون یک آرگومان تایید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

رشته تایید AckStr

تابع رشته تایید(a: تایید، i: صحیح): رشته
آرگومان تایید به شکل رشته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

عدد تایید AckInt

تابع عدد تایید(a: تایید، i: صحیح): صحیح۶۴
عددی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

اعشار تایید AckFloat

تابع اعشار تایید(a: تایید، i: صحیح): اعشار۶۴
اعشاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

بولی تایید AckBool

تابع بولی تایید(a: تایید، i: صحیح): منطقی
بولی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

تایید دودویی است AckIsBinary

تابع تایید دودویی است(a: تایید، i: صحیح): منطقی
آرگومان تایید دودویی است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

بایت تایید AckBytes

تابع بایت تایید(a: تایید، i: صحیح): بایت‌ها
بایت‌های آرگومان دودویی تایید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

مقدار تایید AckValue

تابع مقدار تایید(a: تایید، i: صحیح): value.Value
به شکل مقدار کدگذاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

آزادسازی رویداد EventFree

تابع آزادسازی رویداد(ev &: رویداد)
حافظه‌ی رویداد را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

آزادسازی تایید AckFree

تابع آزادسازی تایید(a &: تایید)
حافظه‌ی تایید را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

متصل است IsConnected

تابع متصل است(c: کارخواه): منطقی
سوکت وصل است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

شناسه Id

تابع شناسه(c: کارخواه): رشته
شناسه‌ی سوکت در فضای نام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

شناسه نشست Sid

تابع شناسه نشست(c: کارخواه): رشته
شناسه‌ی نشست Engine.IO.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

فضای نام Namespace

تابع فضای نام(c: کارخواه): رشته
فضای نام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

بازیابی شده Recovered

تابع بازیابی شده(c: کارخواه): منطقی
پس از اتصال دوباره، وضعیت قبلی بازیابی شد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

حمل‌ونقل Transport

تابع حمل‌ونقل(c: کارخواه): صحیح
حمل‌ونقل فعلی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

آخرین خطا LastError

تابع آخرین خطا(c: کارخواه): رشته
آخرین خطا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

بافر شده Buffered

تابع بافر شده(c: کارخواه): صحیح
شمار پیام‌هایی که منتظر وصل شدن‌اند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

تلاش‌ها Attempts

تابع تلاش‌ها(c: کارخواه): صحیح
شمار تلاش‌های اتصال دوباره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

نقطه پایانی EndpointOf

تابع نقطه پایانی(c: کارخواه): مشخصات نقطه پایانی
نشانی تجزیه‌شده‌ی سوکت.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

فرستادن Send

تابع فرستادن(c: کارخواه، msg: رشته): منطقی
رویداد message با یک رشته؛ مثل send در جاوااسکریپت.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

پیش‌افزودن دلخواه PrependAny

تابع پیش‌افزودن دلخواه(c: کارخواه، cb: تابع(رویداد))
مثل روی دلخواه، ولی پیش از بقیه صدا زده می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

روی دلخواه خروجی OnAnyOutgoing

تابع روی دلخواه خروجی(c: کارخواه، cb: تابع(رویداد))
شنونده‌ای برای هر پیامی که فرستاده می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

پیش‌افزودن دلخواه خروجی PrependAnyOutgoing

تابع پیش‌افزودن دلخواه خروجی(c: کارخواه، cb: تابع(رویداد))
مثل تابع بالا، پیش از بقیه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

خاموش دلخواه خروجی OffAnyOutgoing

تابع خاموش دلخواه خروجی(c: کارخواه)
شنونده‌های پیام‌های خروجی را برمی‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

شمار شنونده ListenerCount

تابع شمار شنونده(c: کارخواه، name: رشته): صحیح
شمار شنونده‌های یک رویداد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

شنونده دارد HasListeners

تابع شنونده دارد(c: کارخواه، name: رشته): منطقی
رویداد شنونده دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

شمار شنونده دلخواه AnyListenerCount

تابع شمار شنونده دلخواه(c: کارخواه): صحیح
شمار شنونده‌های همه‌ی رویدادها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Ack.salam

قطع شده Disconnected

تابع قطع شده(c: کارخواه): منطقی
سوکت قطع است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

فعال Active

تابع فعال(c: کارخواه): منطقی
سوکت فعال است و اگر قطع شود، خودکار دوباره وصل می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

در انتظار Pending

تابع در انتظار(c: کارخواه): صحیح
شمار تاییدهایی که هنوز نرسیده‌اند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

در صف Queued

تابع در صف(c: کارخواه): صحیح
شمار رویدادهای خوانده‌نشده در صف.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

نام حمل‌ونقل TransportName

تابع نام حمل‌ونقل(c: کارخواه): رشته
نام حمل‌ونقل: websocket یا polling.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Client.salam

بازه پینگ PingInterval

تابع بازه پینگ(c: کارخواه): صحیح
فاصله‌ی پینگ‌ها که سرور تعیین کرده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

مهلت پینگ PingTimeout

تابع مهلت پینگ(c: کارخواه): صحیح
مهلت پینگ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Options.salam

بیشینه بار MaxPayload

تابع بیشینه بار(c: کارخواه): صحیح
بیشترین اندازه‌ی پیام که سرور می‌پذیرد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

تنظیم احراز SetAuth

تابع تنظیم احراز(c: کارخواه، auth json: رشته)
داده‌ی احراز هویت را برای اتصال‌های بعدی عوض می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

احراز AuthOf

تابع احراز(c: کارخواه): رشته
داده‌ی احراز هویت.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

تنظیم اتصال دوباره SetReconnection

تابع تنظیم اتصال دوباره(m: مدیر، enabled: منطقی)
اتصال دوباره‌ی خودکار را روشن یا خاموش می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

تنظیم شمار اتصال دوباره SetReconnectionAttempts

تابع تنظیم شمار اتصال دوباره(m: مدیر، n: صحیح)
بیشترین تلاش.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

تنظیم تاخیر دوباره SetReconnectionDelay

تابع تنظیم تاخیر دوباره(m: مدیر، ms: صحیح)
تاخیر نخستین تلاش.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

تنظیم بیشینه تاخیر SetReconnectionDelayMax

تابع تنظیم بیشینه تاخیر(m: مدیر، ms: صحیح)
بیشترین تاخیر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

تنظیم ضریب تصادفی SetRandomizationFactor

تابع تنظیم ضریب تصادفی(m: مدیر، percent: صحیح)
درصد تصادفی تاخیر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

تنظیم مهلت SetTimeout

تابع تنظیم مهلت(m: مدیر، ms: صحیح)
مهلت اتصال.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

گزینه‌های مدیر OptionsOf

تابع گزینه‌های مدیر(m: مدیر): گزینه‌ها
گزینه‌های فعلی مدیر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

سوکت‌ها Sockets

تابع سوکت‌ها(m: مدیر): وکتور<کارخواه>
سوکت‌های مدیر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

باز کردن Open

تابع باز کردن(m: مدیر): منطقی
اتصال مدیر را باز می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

باز است IsOpen

تابع باز است(m: مدیر): منطقی
اتصال مدیر باز است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

خطای مدیر ManagerError

تابع خطای مدیر(m: مدیر): رشته
آخرین خطای مدیر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

رد شده Refused

تابع رد شده(c: کارخواه): منطقی
سرور اتصال به فضای نام را رد کرد، مثلاً چون احراز هویت نادرست بود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam

دلیل رد RefusalReason

تابع دلیل رد(c: کارخواه): رشته
دلیلی که سرور گفت.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-socketio-Manager.salam