هذا مشروع صغير يستخدم CSHARP ومكتبة .NET (7.0). يتيح لك هذا البرنامج إنشاء مآخذ ويب متعددة في وقت واحد (العميل -> الخادم والخادم -> عميل مدعومان). يهدف هذا إلى تشغيل أنظمة التشغيل المستندة إلى Linux التي تدعم .NET 7.0 (على سبيل المثال باستخدام حزمة dotnet ). من الممكن أن يعمل هذا مع Windows ، لكنني لم أحاول اختباره. يجب أن يعمل هذا المشروع أيضًا مع .NET 8.0 ، لكنني لم أختبر ذلك أيضًا.
يعمل هذا البرنامج كغرفة دردشة بسيطة للغاية. عند الاتصال ، يمكن للعميل والخادم تبادل الرسائل النصية الأساسية UTF-8 مع بعضها البعض.
لقد قمت بهذا المشروع لمعرفة المزيد عن مآخذ الويب في CSHARP/.NET إلى جانب كيفية إدارة مآخذ ويب متعددة لتلقي/إرسال البيانات بشكل متزامن عبر الطرق غير المتزامنة.
إليك مقطع فيديو GIF يوضح وظائف البرنامج. لا نستخدم SSL في العرض التوضيحي الخاص بنا وننشئ العميل والخادم محليًا باستخدام 127.0.0.1 (LocalHost).

مطلوب مكتبة .NET 7.0 لتشغيل هذا المشروع. يمكنك تثبيت هذه المكتبة يدويًا أو من خلال مدير حزمة إذا كان Linux Distro يدعمها.
على الأنظمة المستندة إلى Ubuntu/Debian ، يمكنك تثبيت dotnet باستخدام الأوامر (الأوامر) أدناه.
# Typically this is only required for Debian.
wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt update
# Install .NET 7.0.
sudo apt install -y dotnet-sdk-7.0إذا كنت ترغب في بناء وتشغيل المشروع. يمكنك استخدام الأمر التالي.
dotnet runإذا كنت ترغب في إنشاء المشروع فقط ، فيمكنك استخدام الأمر التالي.
dotnet build تأكد من أنك في نفس الدليل مثل ملف csharp-websockets.csproj عند تنفيذ الأوامر أعلاه.
يتم دعم وسيطات سطر الأوامر التالية.
./conf.json . تتم قراءة ملف التكوين على نظام الملفات وتحليله عبر بناء جملة JSON. المسار الافتراضي الذي يتحقق منه ./conf.json . ومع ذلك ، يمكن تغييره عبر خيار سطر أوامر مسار التكوين المذكور أعلاه.
فيما يلي خيارات التكوين. يرجى مراعاة أنك ستحتاج إلى إزالة التعليقات ( // ) إذا نسخ أدناه. أوصي بإلقاء نظرة على ملف conf.ex.json إذا كنت تريد نسخ التكوين دون أي أخطاء.
{
// Whether to activate the listen server.
"listen": true,
// The host to listen on.
"listenHost": "127.0.0.1",
// The port to listen on.
"listenPort": 2222,
// Whether to listen with SSL.
"listenSsl": false,
// An array of startup client connections.
"startupConnections": [
{
// The startup connection host.
"host": "127.0.0.1",
// The startup connection port.
"port": 2223,
// Whether to use SSL with the startup connection.
"ssl": false
}
]
}
عند بدء تشغيل البرنامج ، سيتم مطالبتك بالأوامر التالية التي يمكنك استخدامها.
<ip> <port> <ssl> - قم بإنشاء اتصال عميل جديد بـ <ip> : <port> . <ssl> اختياري وتعطيل SSL ، استخدم لا .<idx> - إرسال/تلقي رسائل لاتصال العميل في الفهرس <idx> .<idx> - إرسال/استلام الرسائل للاستماع إلى خادم الفهرس <idx> .<idx> - إزالة العميل في الفهرس <idx> .<idx> - إزالة الخادم في الفهرس <idx> . عند الاتصال بجلسة دردشة عبر أوامر cc و cs ، يمكنك إرسال الرسالة q لفصل جلسة الدردشة الحالية والعودة إلى القائمة الرئيسية.