تفاصيل العمل

# Multi-Client Chat Room – Python

## نبذة عن المشروع

قمت بتطوير **Multi-Client Chat Room** باستخدام Python، وهو تطبيق محادثة يعتمد على **Client-Server Architecture** ويسمح لعدة مستخدمين بالاتصال بسيرفر واحد وإرسال واستقبال الرسائل بشكل لحظي.

تم بناء المشروع باستخدام **Socket Programming** لإنشاء اتصال TCP بين الـ Client والـ Server، مع استخدام **Multithreading** للتعامل مع عدة مستخدمين في نفس الوقت.

## أهم مميزات المشروع

* إنشاء اتصال بين الـ Client والـ Server باستخدام TCP.

* دعم اتصال أكثر من مستخدم بنفس الـ Chat Room.

* اختيار Nickname لكل مستخدم.

* إرسال واستقبال الرسائل في الوقت الفعلي.

* إرسال الرسائل لجميع المستخدمين المتصلين باستخدام Broadcasting.

* إشعار المستخدمين عند دخول مستخدم جديد إلى الـ Chat Room.

* إشعار المستخدمين عند مغادرة أحد المستخدمين.

* استخدام Threads للتعامل مع عدة Clients بشكل متزامن.

* التعامل مع انقطاع اتصال المستخدم وإزالته من قائمة المستخدمين المتصلين.

## التقنيات المستخدمة

* **Python**

* **Socket Programming**

* **TCP/IP**

* **Client-Server Architecture**

* **Multithreading**

* **Network Communication**

## هيكل المشروع

### `server.py`

مسؤول عن تشغيل الـ Chat Server واستقبال اتصالات المستخدمين، وإدارة قائمة الـ Clients والـ Nicknames، بالإضافة إلى استقبال الرسائل وإرسالها لباقي المستخدمين.

### `client.py`

مسؤول عن اتصال المستخدم بالسيرفر، واختيار الـ Nickname، وإرسال واستقبال الرسائل.

## آلية عمل المشروع

1. يتم تشغيل الـ Server وانتظاره لاتصالات المستخدمين.

2. يقوم الـ Client بالاتصال بالسير

ملفات مرفقة

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز