ফায়ারবেস হোস্টিং-এ ওয়েবসকেট ব্যর্থতার সমস্যা সমাধান করা
স্থানীয় পরীক্ষার সময় নিখুঁতভাবে কাজ করে এমন সবকিছুর সাথে আপনার ওয়েব অ্যাপ স্থাপনের কল্পনা করুন, শুধুমাত্র WebSocket-এর মতো একটি গুরুত্বপূর্ণ বৈশিষ্ট্য হঠাৎ উত্পাদনে ব্যর্থ হয়। 😟 এটি একটি হতাশাজনক পরিস্থিতি যা অনেক ডেভেলপারের সম্মুখীন হয়, বিশেষ করে যখন Firebase-এর মতো প্ল্যাটফর্মে হোস্ট করা হয়। এই সঠিক সমস্যাটি ডিবাগিংকে বন্য হংসের তাড়াতে পরিণত করতে পারে।
যখন ওয়েবসকেট সংযোগ আপনার স্থানীয় মেশিনে নির্বিঘ্নে কাজ করে বা স্থানীয় হোস্টিংয়ের জন্য Firebase-এর `serve` কমান্ড ব্যবহার করে তখন এই সমস্যাটি আরও বিভ্রান্তিকর হয়ে ওঠে। যে মুহুর্তে এটি উত্পাদনে আঘাত করে, তবে, সংযোগটি রহস্যজনকভাবে ব্যর্থ হয়, যা আপনাকে গোপন লগের দিকে তাকিয়ে থাকে। কি ভুল হতে পারে?
আমি যে পরিস্থিতির মুখোমুখি হয়েছিলাম তা আলাদা ছিল না। আমার WebSocket কোড স্থানীয়ভাবে ভাল কাজ করেছে, কিন্তু Firebase হোস্টিং এর মাধ্যমে এটি স্থাপন করা একটি ক্রমাগত ব্যর্থতার পরিচয় দিয়েছে। লগগুলি সহায়ক ছিল না, "WebSocket সংযোগ ব্যর্থ হয়েছে" এবং `"isTrusted": true` এর মতো জেনেরিক ত্রুটিগুলি দেখাচ্ছে৷ কোডে সবকিছু নিখুঁত বলে মনে হয়েছিল এটি একটি ধাঁধা ছিল।
এই নিবন্ধে, আমি এই অদ্ভুত সমস্যাটিতে ডুব দেব, আমার ডিবাগিং যাত্রা শেয়ার করব, এবং ব্যাখ্যা করব কেন ফায়ারবেস উৎপাদন পরিবেশে ওয়েবসকেট সংযোগগুলি নষ্ট হতে পারে। এছাড়াও, আমি আপনার অ্যাপটিকে ট্র্যাকে ফিরিয়ে আনতে ব্যবহারিক সমাধান প্রদান করব। 💻 আসুন একসাথে এই রহস্য উন্মোচন করি!
আদেশ | ব্যবহারের উদাহরণ |
---|---|
createProxyMiddleware | http-proxy-middleware প্যাকেজের একটি মিডলওয়্যার, WebSocket অনুরোধগুলিকে লক্ষ্য URL-এ ফরোয়ার্ড করার জন্য একটি প্রক্সি সার্ভার তৈরি করতে ব্যবহৃত হয়। এটি ফায়ারবেস হোস্টিং পরিবেশে CORS সমস্যাগুলিকে বাইপাস করতে সহায়তা করে৷ |
pathRewrite | এটি ফরওয়ার্ড করার আগে একটি অনুরোধের পথ পরিবর্তন করতে createProxyMiddleware-এর মধ্যে ব্যবহৃত হয়। উদাহরণস্বরূপ, এটি /websocket থেকে /websocket/v1 পুনরায় লিখতে পারে। |
ws | http-proxy-middleware-এ একটি নির্দিষ্ট বিকল্প যা প্রক্সি সার্ভারের জন্য WebSocket সমর্থন সক্ষম করে। Node.js পরিবেশে WebSocket অনুরোধগুলি পরিচালনা করার সময় অপরিহার্য। |
Access-Control-Allow-Origin | ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) মঞ্জুরি দিতে Firebase firebase.json ফাইলে একটি HTTP হেডার কনফিগার করা হয়েছে। বিভিন্ন উৎস থেকে WebSocket সংযোগ সক্ষম করার জন্য গুরুত্বপূর্ণ। |
on_open | পাইথন ওয়েবসকেট-ক্লায়েন্ট লাইব্রেরিতে একটি কলব্যাক যা কার্যকর করা হয় যখন একটি WebSocket সংযোগ সফলভাবে প্রতিষ্ঠিত হয়। এটি সার্ভারে প্রাথমিক তথ্য পাঠাতে ব্যবহৃত হয়। |
on_message | পাইথন ওয়েবসকেট-ক্লায়েন্ট লাইব্রেরিতে একটি কলব্যাক যা ওয়েবসকেট সার্ভার থেকে একটি বার্তা প্রাপ্ত হলে ট্রিগার হয়। রিয়েল-টাইম ডেটা পরিচালনার জন্য অপরিহার্য। |
run_forever | পাইথন ওয়েবসকেট-ক্লায়েন্ট লাইব্রেরিতে একটি পদ্ধতি যা ওয়েবসকেট সংযোগকে খোলা এবং সক্রিয় রাখে, অবিচ্ছিন্ন যোগাযোগ সক্ষম করে। |
changeOrigin | http-proxy-middleware-এ একটি কনফিগারেশন বিকল্প যা লক্ষ্য সার্ভারের সাথে মেলে হোস্ট হেডারের মূল পরিবর্তন করে। WebSocket সংযোগ সঠিকভাবে কাজ করার জন্য এটি প্রায়ই প্রয়োজন হয়। |
newResponse(event.data) | একটি ব্যবহারযোগ্য JSON ফর্ম্যাটে কাঁচা ওয়েবসকেট ডেটা পার্স করার জন্য JavaScript-এ একটি ব্রাউজার-নির্দিষ্ট কমান্ড। WebSocket সার্ভার থেকে প্রাপ্ত ডেটা পরিচালনা করতে সহায়তা করে। |
wasClean | WebSocket ক্লোজ ইভেন্টের একটি বৈশিষ্ট্য যা নির্দেশ করে যে সংযোগটি পরিষ্কারভাবে বন্ধ করা হয়েছে কিনা বা একটি অপ্রত্যাশিত সমস্যা ছিল, যেমন একটি নেটওয়ার্ক বাধা। |
ফায়ারবেস হোস্টিং-এ ওয়েবসকেট সমস্যাগুলি বোঝা এবং ঠিক করা
আমরা অন্বেষণ প্রথম স্ক্রিপ্ট ব্যবহার করে a বিপরীত প্রক্সি Firebase হোস্টিং-এ WebSocket সংযোগ ব্যর্থতার সমাধান করতে Node.js-এ। CORS বা Firebase-এর উৎপাদন পরিবেশের কারণে সৃষ্ট যেকোন বিধিনিষেধকে বাইপাস করে এই পদ্ধতিটি WebSocket অনুরোধে বাধা দিয়ে এবং লক্ষ্য API-এ তাদের ফরওয়ার্ড করে কাজ করে। উদাহরণস্বরূপ, দ প্রক্সি মিডলওয়্যার তৈরি করুন কমান্ড ডেভেলপারদের একটি প্রক্সি রুট যেমন সংজ্ঞায়িত করার অনুমতি দেয় /ওয়েবসকেট, যা প্রকৃত API এন্ডপয়েন্টে অনুবাদ করে wss://api.upbit.com/websocket/v1. এই পুনঃনির্দেশ নিশ্চিত করে যে ক্রস-অরিজিন নীতির কারণে কোনো সমস্যা ছাড়াই WebSocket সংযোগ স্থাপন করা হয়েছে। 😊
উপরন্তু, আমরা ব্যবহার করেছি পথ পুনঃলিখন প্রক্সি কনফিগারেশনের বিকল্প। এটি সার্ভারের প্রত্যাশিত পথের সাথে সামঞ্জস্য বজায় রেখে বিকাশকারীদের ক্লায়েন্ট-সাইড অনুরোধগুলিকে সরল করার অনুমতি দেয়। পুনর্লিখনের মাধ্যমে /ওয়েবসকেট থেকে /websocket/v1, আমরা ফ্রন্ট-এন্ড কোডটি পরিষ্কার এবং নমনীয় রাখি। দ ws প্রক্সি সেটিংসের প্যারামিটার ওয়েবসকেট-নির্দিষ্ট সমর্থন নিশ্চিত করে, এই স্ক্রিপ্টটিকে রিয়েল-টাইম যোগাযোগের পরিস্থিতি যেমন স্টক টিকার আপডেটের জন্য শক্তিশালী করে তোলে।
ফায়ারবেস হোস্টিং কনফিগারেশনে, অ্যাক্সেস-নিয়ন্ত্রণ-অনুমতি-উৎপত্তি CORS সমর্থন সক্ষম করতে হেডার যোগ করা হয়েছে। এটি নিশ্চিত করে যে ফায়ারবেস ডোমেন এবং API প্রদানকারীর মধ্যে ভিন্নতার কারণে ব্রাউজার থেকে সার্ভারের সাথে WebSocket সংযোগটি ব্লক করা হয়নি। এই পদ্ধতিটি বিশেষভাবে কার্যকর যখন ক্লায়েন্ট-সাইড অ্যাপ্লিকেশনটির সার্ভারের কনফিগারেশনের উপর কোন নিয়ন্ত্রণ থাকে না। একটি ভাল সাদৃশ্য হল যোগাযোগের অনুমতি দেওয়ার জন্য একটি নির্দিষ্ট দরজা (CORS হেডার) খোলা, যাতে নিরবচ্ছিন্নভাবে ডেটা প্রবাহ নিশ্চিত করা যায়। 🔧
পাইথন স্ক্রিপ্ট একটি ভিন্ন উদ্দেশ্যে কাজ করে: বিভিন্ন পরিবেশে ওয়েবসকেট সংযোগ পরীক্ষা করা। মত কলব্যাক বাস্তবায়ন করে চালু_খোলা, অন_মেসেজ, এবং অন_ত্রুটি, এই স্ক্রিপ্টটি বিকাশ এবং উত্পাদন উভয় ক্ষেত্রে ওয়েবসকেট সংযোগগুলি কীভাবে আচরণ করে তার অন্তর্দৃষ্টি প্রদান করে। এর ব্যবহার চিরতরে চালান অবিচ্ছিন্ন পর্যবেক্ষণ নিশ্চিত করে, যা অন্তর্বর্তী সংযোগ সমস্যাগুলি ডিবাগ করার জন্য গুরুত্বপূর্ণ। উদাহরণস্বরূপ, স্থানীয়ভাবে এই স্ক্রিপ্টটি চালানোর সময়, আপনি আবিষ্কার করতে পারেন যে সংযোগটি ত্রুটিহীনভাবে কাজ করে, এটি নিশ্চিত করে যে সমস্যাটি হোস্টিং পরিবেশের মধ্যে রয়েছে।
ফায়ারবেস হোস্টিংয়ে ওয়েবসকেটের ব্যর্থতার তদন্ত করা হচ্ছে
এই স্ক্রিপ্টটি কার্যকরভাবে উত্পাদন পরিবেশগুলি পরিচালনা করার জন্য একটি বিপরীত প্রক্সি প্রয়োগ করে WebSocket সংযোগ সমস্যাগুলি হ্রাস করার জন্য একটি Node.js-ভিত্তিক পদ্ধতি প্রদর্শন করে৷
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');
const app = express();
// Proxy configuration
app.use('/websocket', createProxyMiddleware({
target: 'wss://api.upbit.com',
changeOrigin: true,
ws: true,
pathRewrite: { '^/websocket': '/websocket/v1' }
}));
// Start the server
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => {
console.log(`Proxy server running on port ${PORT}`);
});
ওয়েবসকেট ব্যর্থতাগুলি সমাধান করতে CORS সেটিংস এবং ফায়ারবেস কনফিগারেশন ব্যবহার করা
এই স্ক্রিপ্টটি ব্যাখ্যা করে কিভাবে Firebase হোস্টিং কনফিগারেশন সামঞ্জস্য করা যায় এবং WebSocket সংযোগগুলিকে নিরাপদে সমর্থন করার জন্য একটি ফ্রন্ট-এন্ড অ্যাপ্লিকেশনে CORS শিরোনাম যুক্ত করা যায়।
// Firebase Hosting configuration (firebase.json)
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"/.*",
"/node_modules/"
],
"headers": [
{
"source": "/",
"headers": [
{
"key": "Access-Control-Allow-Origin",
"value": "*" // Adjust for production security
}
]
}
]
}
}
// WebSocket client implementation
const socket = new WebSocket('wss://your-proxy-domain/websocket');
socket.onopen = () => {
console.log('WebSocket connection established');
socket.send(JSON.stringify({
ticket: 'sample-ticket',
type: 'ticker',
codes: ['KRW-BTC']
}));
};
socket.onmessage = (event) => {
console.log('Message received:', event.data);
};
socket.onerror = (error) => {
console.error('WebSocket error:', error);
};
একাধিক পরিবেশে ওয়েবসকেট কার্যকারিতা পরীক্ষা করা
এই পাইথন স্ক্রিপ্টটিতে 'ওয়েবসকেট-ক্লায়েন্ট' লাইব্রেরি ব্যবহার করে উত্পাদন এবং স্থানীয় পরিবেশে WebSocket আচরণ যাচাই করার জন্য একটি ইউনিট পরীক্ষা অন্তর্ভুক্ত রয়েছে।
import websocket
import json
# WebSocket URL
url = "wss://api.upbit.com/websocket/v1"
def on_message(ws, message):
print("Message received:", message)
def on_error(ws, error):
print("Error:", error)
def on_close(ws, close_status_code, close_msg):
print("Connection closed:", close_status_code, close_msg)
def on_open(ws):
payload = [
{"ticket": "sample-ticket"},
{"type": "ticker", "codes": ["KRW-BTC"]}
]
ws.send(json.dumps(payload))
# Test WebSocket connection
if __name__ == "__main__":
ws = websocket.WebSocketApp(url,
on_message=on_message,
on_error=on_error,
on_close=on_close)
ws.on_open = on_open
ws.run_forever()
আধুনিক হোস্টিং পরিবেশে WebSocket সামঞ্জস্যতা সম্বোধন করা
প্রোডাকশন হোস্টিংয়ে WebSocket সমস্যা সমাধানের একটি মূল দিক হল কীভাবে বোঝা যায় নিরাপদ প্রোটোকল যেমন HTTPS WebSocket (WSS) এর সাথে ইন্টারঅ্যাক্ট করে। আধুনিক হোস্টিং প্ল্যাটফর্ম, যেমন Firebase, প্রায়ই HTTPS প্রয়োগ করে, যার জন্য সংশ্লিষ্ট সুরক্ষিত WebSocket সংযোগ প্রয়োজন। যদি আপনার WebSocket API সম্পূর্ণরূপে WSS মান মেনে না নেয় বা যদি শংসাপত্রের অমিল থাকে, তাহলে সংযোগ ব্যর্থ হবে। উদাহরণস্বরূপ, এমনকি সার্ভার-সাইডে SSL শংসাপত্রে ছোটখাটো ভুল কনফিগারেশনের কারণেও রহস্যজনক ত্রুটি হতে পারে যেমন {"isTrusted": সত্য}. এটি স্থাপনার সময় শক্তিশালী SSL যাচাইকরণের প্রয়োজনীয়তার উপর জোর দেয়।
আরেকটি গুরুত্বপূর্ণ বিষয় হল কিভাবে ফায়ারবেসের CDN এবং ক্যাশিং প্রক্রিয়া WebSocket অনুরোধগুলিকে প্রভাবিত করে। ঐতিহ্যগত HTTP/HTTPS অনুরোধের বিপরীতে, ওয়েবসকেটগুলি দীর্ঘস্থায়ী সংযোগ স্থাপন করে যা সাধারণ ক্যাশিং আচরণকে বাইপাস করে। যাইহোক, Firebase হোস্টিং ডিফল্টরূপে HTTP/2 ব্যবহার করে, যা কখনও কখনও WebSocket প্রোটোকলের সাথে বিরোধ করতে পারে। এই কারণেই একটি বিপরীত প্রক্সির মতো বৈশিষ্ট্যগুলি ব্যবহার করা বা WebSocket রুটের জন্য স্পষ্টভাবে HTTP/2 অক্ষম করা সংযোগটিকে স্থিতিশীল করতে পারে৷ ডেভেলপারদের উচিত তাদের WebSocket চাহিদার সাথে সামঞ্জস্যতা নিশ্চিত করতে তাদের Firebase সেটিংস যাচাই করা। 🔧
অবশেষে, WebSocket লাইব্রেরির পছন্দ গুরুত্বপূর্ণ। পাইথনের মত লাইব্রেরি ওয়েবসকেট-ক্লায়েন্ট অথবা জাভাস্ক্রিপ্টের নেটিভ WebSocket API সংযোগগুলিকে ভিন্নভাবে পরিচালনা করে, বিশেষত ত্রুটি পুনরুদ্ধার এবং পুনঃসংযোগ যুক্তি সম্পর্কিত। উদাহরণ স্বরূপ, আপনার কোডে পুনরায় চেষ্টা করার প্রক্রিয়া সক্ষম করা উৎপাদনে ক্ষণস্থায়ী সমস্যা প্রশমিত করতে সাহায্য করতে পারে। উৎপাদনের অনুরূপ পরিবেশে পরীক্ষা করে, আপনি Firebase-এর আচরণকে আরও ভালোভাবে অনুকরণ করতে পারেন এবং এই সংযোগ চ্যালেঞ্জগুলিকে আগে থেকেই সমাধান করতে পারেন। এই সক্রিয় ডিবাগিং একটি নিরবচ্ছিন্ন ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করে। 😊
Firebase হোস্টিং-এ WebSocket সম্পর্কে প্রায়শই জিজ্ঞাসিত প্রশ্ন
- ফায়ারবেস হোস্টিংয়ে ওয়েবসকেট ব্যর্থ হওয়ার প্রধান কারণ কী?
- HTTPS/WSS সামঞ্জস্যতা সমস্যা বা সীমাবদ্ধ CORS নীতির কারণে WebSocket প্রায়ই Firebase হোস্টিং-এ ব্যর্থ হয়। ব্যবহার করে createProxyMiddleware কার্যকরভাবে এই ধরনের সীমাবদ্ধতা বাইপাস করতে পারেন।
- আমি কিভাবে উৎপাদনে WebSocket ব্যর্থতা ডিবাগ করতে পারি?
- এর মতো টুল ব্যবহার করুন Firebase logs অথবা ট্রাফিক পরিদর্শন করার জন্য একটি বিপরীত প্রক্সি। এর সাথে একটি পাইথন স্ক্রিপ্ট প্রয়োগ করুন websocket-client আচরণ অনুকরণ এবং বিশ্লেষণ করতে।
- ফায়ারবেস হোস্টিং কি WebSocket এর সাথে সামঞ্জস্যপূর্ণ?
- হ্যাঁ, কিন্তু আপনি শিরোনাম মত কনফিগার করতে হবে Access-Control-Allow-Origin এবং নিশ্চিত করুন যে নিরাপদ WSS সংযোগ সঠিকভাবে প্রতিষ্ঠিত হয়েছে।
- কেন WebSocket স্থানীয়ভাবে কাজ করে কিন্তু উৎপাদনে নয়?
- স্থানীয় সেটআপগুলি Firebase-এর মতো হোস্টিং প্ল্যাটফর্মগুলির দ্বারা প্রয়োগ করা অনেক নিরাপত্তা পরীক্ষা এবং CORS বিধিনিষেধকে বাইপাস করে, যে কারণে স্থানীয় সংযোগগুলি প্রায়শই সফল হয়৷
- WebSocket ব্যর্থতার সাধারণ ত্রুটি কোড কি কি?
- মত কোড 1006 অস্বাভাবিক বন্ধ নির্দেশ করে, প্রায়শই নেটওয়ার্ক সমস্যা বা ভুল সার্ভার কনফিগারেশনের কারণে।
- ওয়েবসকেটের জন্য আমি কীভাবে ফায়ারবেস হোস্টিং কনফিগার করব?
- পরিবর্তন করুন firebase.json ফাইল প্রয়োজনীয় শিরোনাম অন্তর্ভুক্ত এবং ব্যবহার করে স্থাপন firebase deploy আদেশ
- ফায়ারবেসের সিডিএন কি ওয়েবসকেট সংযোগগুলিকে প্রভাবিত করতে পারে?
- হ্যাঁ, ফায়ারবেসের CDN অপ্টিমাইজেশান দীর্ঘজীবী ওয়েবসকেট সংযোগে হস্তক্ষেপ করতে পারে। নির্দিষ্ট রুট কনফিগার করা এটি সমাধান করতে সাহায্য করে।
- আমি কিভাবে WebSocket আচরণ পরীক্ষা করতে পারি?
- একটি পাইথন স্ক্রিপ্ট বা পোস্টম্যানের মতো টুল ব্যবহার করুন। পাইথনে, দ run_forever ফাংশন WebSocket সংযোগের ক্রমাগত পরীক্ষা নিশ্চিত করে।
- একটি নিরাপদ WebSocket সংযোগ কি?
- একটি নিরাপদ WebSocket (WSS) সংযোগ এনক্রিপশনের জন্য SSL/TLS ব্যবহার করে। ত্রুটি এড়াতে আপনার সার্ভারের শংসাপত্র বৈধ এবং বিশ্বস্ত তা নিশ্চিত করুন।
- ফায়ারবেস হোস্টিং কি উচ্চ WebSocket ট্র্যাফিক পরিচালনা করতে পারে?
- ফায়ারবেস ট্র্যাফিক ভালভাবে পরিচালনা করতে পারে, তবে আপনার WebSocket API স্কেলগুলি সঠিকভাবে নিশ্চিত করে এবং সার্ভার-সাইড কনফিগারেশনগুলি উচ্চ একযোগে সমর্থন করে।
ফায়ারবেস ওয়েবসকেট চ্যালেঞ্জের সমাধান করা
Firebase হোস্টিং-এ WebSocket সমস্যাগুলি সুরক্ষিত পরিবেশে রিয়েল-টাইম অ্যাপগুলি স্থাপনের জটিলতাগুলিকে রেখাপাত করে৷ CORS, HTTPS/WSS সামঞ্জস্য এবং ফায়ারবেস-নির্দিষ্ট সেটিংসের ভূমিকা বোঝার মাধ্যমে, বিকাশকারীরা কার্যকরভাবে ব্যর্থতার মূল কারণগুলি সনাক্ত করতে এবং ঠিক করতে পারে। ডিবাগিং কৌশল, যেমন প্রক্সি সেটআপ এবং বিস্তারিত লগ, অমূল্য টুল। 😊
স্থিতিশীল WebSocket সংযোগ নিশ্চিত করা আর্থিক টিকার বা লাইভ চ্যাটের মতো রিয়েল-টাইম অ্যাপ্লিকেশনগুলির জন্য অত্যন্ত গুরুত্বপূর্ণ। এনভায়রনমেন্টে কনফিগারেশন পরীক্ষা করা উৎপাদন অনুকরণ করে এবং শক্তিশালী লাইব্রেরি ব্যবহার করে নির্ভরযোগ্য বাস্তবায়নের পথ প্রদান করে। সঠিক সামঞ্জস্য সহ, Firebase হোস্টিং হেঁচকি ছাড়াই নিরাপদ এবং দক্ষ ওয়েবসকেট যোগাযোগ সমর্থন করতে পারে।
সূত্র এবং তথ্যসূত্র
- স্থাপনা এবং কনফিগারেশন বিশদ বোঝার জন্য ফায়ারবেস হোস্টিং ডকুমেন্টেশনের উপর বিশদ বিবরণ দেয়। অফিসিয়াল ফায়ারবেস হোস্টিং গাইড দেখুন: ফায়ারবেস হোস্টিং ডকুমেন্টেশন .
- নিরাপদ পরিবেশে সম্মতি নিশ্চিত করতে WebSocket প্রোটোকল মান উল্লেখ করে। আরো বিস্তারিত জানার জন্য, দেখুন: MDN WebSocket API .
- ওয়েবসকেট সংযোগে CORS এবং HTTP/2 প্রভাবের অন্তর্দৃষ্টি প্রদান করে। এখানে আরও জানুন: MDN CORS ডকুমেন্টেশন .
- বিপরীত প্রক্সি সেট আপ করার জন্য কিভাবে http-proxy-middleware প্যাকেজ ব্যবহার করতে হয় তা ব্যাখ্যা করে। প্যাকেজটি এখানে দেখুন: http-প্রক্সি-মিডলওয়্যার .
- ওয়েবসকেট সংযোগ পরীক্ষা করার জন্য পাইথন ওয়েবসকেট-ক্লায়েন্ট লাইব্রেরি ব্যবহার করে। আরও তথ্য খুঁজুন: ওয়েবসকেট-ক্লায়েন্ট পাইথন প্যাকেজ .