اتصال و عضویت
GET/connection/websocket
این مسیر نقطه اتصال اصلی وبسوکت است. بعد از اتصال باید در کانالهای مورد نیاز عضو شوید تا پیامهای لحظهای دریافت کنید.
آدرسهای اتصال:
- اصلی:
wss://ws.nobitex.ir/connection/websocket - تستنت:
wss://testnetws.nobitex.ir/connection/websocket
کاربرد این صفحه:
- اتصال به وبسوکت
- عضویت در کانالهای عمومی
- مدیریت ping/pong و محدودیتهای اتصال
برای کانالهای خصوصی، ابتدا از /auth/ws/token/ توکن اتصال بگیرید و سپس با توکن وصل شوید. جزئیات در صفحه «توکن اتصال خصوصی» آمده است.
محدودیتها و رفتار اتصال:
- کانالهای عمومی بدون توکن قابل استفاده هستند.
- حداکثر اتصال همزمان: ۱۰۰ اتصال
- حداکثر تعداد کانال روی هر اتصال: ۳۰۰ کانال
- سرور پیام ping خالی
{}میفرستد و کلاینت خام باید ظرف ۲۰ ثانیه pong خالی{}برگرداند. - SDKهای رسمی Centrifugo معمولا ping/pong را خودکار مدیریت میکنند.
- برای بازیابی پیامها، ۱۰ پیام آخر هر کانال تا ۱۰ دقیقه در تاریخچه نگهداری میشود.
- در SDKهای رسمی میتوانید هنگام عضویت گزینه
{ delta: 'fossil' }را فعال کنید. این گزینه باعث کاهش حجم انتقال میشود و SDK رسمی داده را به شکل عادی به تابع بازگشتی تحویل میدهد. - اگر از کلاینت خام یا کتابخانه غیررسمی استفاده میکنید، گزینه delta را فعال نکنید مگر اینکه بازیابی داده با الگوریتم Fossil را پیادهسازی کرده باشید.
نصب SDK جاوااسکریپت:
npm install centrifuge
اتصال عمومی با SDK:
import { Centrifuge } from 'centrifuge';
const client = new Centrifuge('wss://ws.nobitex.ir/connection/websocket');
client.on('connected', (ctx) => {
console.log('connected', ctx);
});
client.connect();
عضویت در کانال عمومی با SDK:
const sub = client.newSubscription('public:trades-BTCIRT', { delta: 'fossil' });
sub.on('publication', (ctx) => {
console.log(ctx.data);
});
sub.subscribe();
استفاده مستقیم در HTML:
<script src="https://unpkg.com/centrifuge@5/dist/centrifuge.js"></script>
اتصال خام بدون SDK:
{
"connect": {},
"id": 1
}
عضویت در چند کانال با یک اتصال:
const channels = ['public:orderbook-BTCIRT', 'public:trades-BTCIRT'];
channels.forEach((channel) => {
const sub = client.newSubscription(channel, { delta: 'fossil' });
sub.on('publication', (ctx) => {
console.log(channel, ctx.data);
});
sub.subscribe();
});
Responses
- 101
- 400
- 429
اتصال وبسوکت برقرار شد
درخواست ارتقای وبسوکت نامعتبر است
محدودیت اتصال یا تعداد کانال رعایت نشده است