0% ont trouvé ce document utile (0 vote)
2 vues15 pages

Serveur de Chat : Application Java Socket

Le document présente un projet de serveur de chat utilisant la technologie de téléconférence pour faciliter la communication entre utilisateurs sur un réseau. Il décrit les applications client et serveur, les protocoles de communication, ainsi que les fonctionnalités de l'interface utilisateur. Des améliorations futures sont également envisagées, telles que le transfert de fichiers et la gestion des sessions de connexion.

Traduit par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues15 pages

Serveur de Chat : Application Java Socket

Le document présente un projet de serveur de chat utilisant la technologie de téléconférence pour faciliter la communication entre utilisateurs sur un réseau. Il décrit les applications client et serveur, les protocoles de communication, ainsi que les fonctionnalités de l'interface utilisateur. Des améliorations futures sont également envisagées, telles que le transfert de fichiers et la gestion des sessions de connexion.

Traduit par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

APPLICATION DE DISCUSSION

Page 1
INTRODUCTION

La téléconférence ou le chat est une méthode utilisant la technologie pour rassembler

les gens et les idées "ensemble" malgré les barrières géographiques. La technologie
est disponible depuis des années mais son acceptation est relativement récente. Notre projet est

un exemple de serveur de chat. Il est composé de 2 applications, le client


application, qui fonctionne sur le PC de l'utilisateur et application serveur, qui fonctionne sur

tout PC sur le réseau. Pour commencer à discuter, le client doit se connecter au serveur
où ils peuvent pratiquer deux types de discussion, publique (le message est
diffusé à tous les utilisateurs connectés) et privé (entre seulement 2 utilisateurs)
et lors de la dernière, des mesures de sécurité ont été prises.

Page 2
OBJECTIFS
La communication sur un réseau est un domaine où cet outil trouve une large utilisation.

application de mise en relation. L'application de chat établit une connexion entre 2 ou


plus de systèmes connectés sur un intra-net ou ad hoc. Cet outil peut être utilisé pour
communication et conférence à grande échelle dans une organisation ou un campus de
taille vaste, augmentant ainsi le niveau de coopération. De plus, cela convertit le
concept complexe des sockets dans un environnement convivial. Ce logiciel peut
avoir d'autres potentiels, tels que le transfert de fichiers et des options de chat vocal qui peuvent

sera traité plus tard.

Page 3
CATÉGORIE DE PROJET

PROGRAMMATION SOCKET-JAVA
Une prise est l'une des technologies les plus fondamentales de l'ordinateur.
réseautage. Les sockets permettent aux applications de communiquer en utilisant des normes.

mécanismes intégrés dans le matériel réseau et les systèmes d'exploitation. Bien que

le logiciel de réseau peut sembler être un phénomène "Web" relativement nouveau, socket

La technologie a en fait été utilisée pendant environ deux décennies.

Les sockets fournissent le mécanisme de communication entre deux ordinateurs

en utilisant TCP. Un programme client crée un socket de son côté de la communication


et tente de connecter ce socket à un serveur. Lorsque la connexion est établie,
le serveur crée un objet socket de son côté de la communication. Le client
et le serveur peut maintenant communiquer en écrivant et en lisant depuis le socket.

La classe [Link] représente un socket, et le [Link]


class provides a mechanism for the server program to listen for clients and
établir des connexions avec eux.

Page 4
ANALYSE DES SYSTÈMES
DFD (DIAGRAMME DE FLUX DE DONNÉES)

ENVOIE DES MESSAGES ENVOIE DES MESSAGES

DEMANDE MONITEUR
SERVEUR DE DISCUSSION
ADMIN
LOGIN REÇOIT

RECEVOIR UN MESSAGE MESSAGES


VALIDER L'UTILISATEUR

ACCÈS REFUSÉ/ACCÉDÉ

ADMIN
ACCES AUTORISE

VALIDER
REFUSÉ
USERID &
UTILISATEUR
MOT DE PASSE
REQUEST FOR SERVER MONITEURS
NG DE
LOGIN BASE DE DONNÉES

ENVOYER & RECEVOIR


E MESSAGE

SERVER

Page 5
DIAGRAMME E-R

Message_ID
Mesag_recievr_ID
Mesag_recieve_ID

A_un_o Message_ID
Sujet Message Message_reciver
r_beaucoup

Message_Text

Attachments_Id Reciver_ID

EXPLICATION DE LA PROGRAMMATION

Communication Client-Serveur

Le serveur est lié à un socket fixe et écoute les demandes de connexion des clients.
Les clients essaient de se connecter au serveur sur ce port et cet hôte prédéfini. Une fois que le

des canaux de communication sont mis en place, les deux parlent en termes d'objets définis comme des protocoles.

Lors de la réception de ces objets, le programme extrait ensuite les informations pertinentes et prend

actions appropriées. Toutes les communications se font par le serveur et peuvent modifier le protocole

paramètres si nécessaire.

Protocoles

Des protocoles auto-conçus ont été définis pour permettre les communications entre le serveur
et clients. Les protocoles ont principalement été définis comme des classes qui ont des paramètres requis.

Les objets de ces classes sont ensuite échangés

Protocole de message

Page 6
Ceci définit comment les messages doivent être gérés entre les utilisateurs et le serveur.

L'utilisateur peut envoyer des messages publics et privés. Pour les messages privés, il est important

pour connaître le destinataire et l'expéditeur du message.

Champs

Public ou message privé


NuméroDeChambre–Actuellement sans utilité. À l'avenir, cela peut être utilisé pour plusieurs

chambres
RecieverId–Id of the recipient. Useful only for private messages
SenderId–Id of sender. Useful only for private messages
Message–Text that the user wants to send
Protocole d'information client

Ceci est destiné à échanger des informations client entre l'utilisateur et le serveur.

Lorsqu'un nouveau client se connecte au serveur, ses informations pertinentes sont conservées dans

un objet de cette classe. D'autres utilisateurs sont notifiés de l'arrivée d'un nouveau client à l'aide de

informations provenant de ce protocole.

Champs

ClientId–Numéro d'identification du client au sein du serveur.


ClientName–The login name provided by the user.

Protocole de demande de chat

Ce protocole est utilisé pour notifier un client qu'un autre client souhaite commencer un
discussion privée avec ça. Un message de ce type doit être envoyé avant toute conversation privée.

la conversation peut commencer. Ce message est envoyé lorsque l'utilisateur choisit de commencer un

conversation privée. À la réception de cette demande, le client du destinataire


prend des mesures pour recevoir des messages privés du serveur selon les spécifications

expéditeur.

Champs

SenderId–The clientId of the client machine that initiated the request.

Page 7
ReceiverId – L'identifiant client de la machine cliente qui doit être notifiée.

Mettre à jour le protocole de liste des clients

Lorsqu'un nouvel utilisateur se connecte au serveur, tous les clients doivent en être informés.
arrivée. Également, lorsqu'un utilisateur se déconnecte, tous les utilisateurs doivent être avertis. Ceci

le protocole est utilisé pour simplifier ce processus. Un message de ce type avec le


le nom des nouveaux clients est diffusé à toutes les machines clientes.

Champs

Type de demande – Indique si l'utilisateur doit être ajouté ou retiré


ClientName–The name of the client that the information is about

Protocole de déconnexion

Lorsqu'un utilisateur choisit de se déconnecter du système, le serveur et tous les autres utilisateurs

doit être notifié. Selon le choix des utilisateurs, la machine cliente locale envoie un

message de ce type au serveur. À réception de ce message, le serveur


le transmet à tous les clients. Puis rompt la connexion avec le client.

Rejoindre le protocole de salle de chat

Ce protocole est réservé aux cas où plusieurs salles de chartes seront


mis en œuvre.

Champs

Type de demande -- Indique si l'utilisateur doit être ajouté ou supprimé


Room Number–RoomId of the room that the user wants to join

Protocole d'Avis de Connexion

Si le serveur rejette la connexion, cet objet est alors envoyé au client.


La raison pourrait être un serveur surchargé ou que le pseudo du client est déjà utilisé.

Page 8
Page 9
MODULES DU PROJET

[Link] SERVER:

L'interface a été développée en Swing. L'interface a été


tenus séparés des processus du réseau. Les principaux composants de la
les interfaces de serveur sont les suivantes :

1. Messages Area: Connection acceptance , rejection, login


messages are shown here.
2. Liste des utilisateurs en ligne : Sur le côté droit de la fenêtre de message
c'est la liste des utilisateurs qui sont actuellement connectés au serveur.
Un utilisateur peut être sélectionné dans cette liste en cliquant sur le nom.
3. Dialogue de configuration du serveur : Ce dialogue est affiché lorsque l'option est
sélectionnés dans le menu. Cette boîte de dialogue permettra de nouveaux valeurs et
sauvegarde dans le fichier de configuration.
4. Menu Principal : Les options disponibles pour le serveur.
options includes the configure server, shutdown server

[Link] CLIENT:

L'interface a été développée en Swing. L'interface a été


séparés des processus réseau. Les principaux composants de la
Les interfaces client sont les suivantes

1. Message Tabs: These are the conversation tabs. Tous


les fenêtres de conversation sont conservées dans ces onglets.
2. Champ de saisie de message : Ceci se trouve en bas de la
fenêtre. C'est ici que l'utilisateur saisit le message.
il/elle veut envoyer. Le message est envoyé en appuyant sur entrer
ou en appuyant sur le bouton d'envoi. L'endroit où le message est envoyé dépend
sur quel onglet est ouvert.
3. Liste des utilisateurs en ligne : Cette liste montre tous les utilisateurs qui sont connectés
dans le serveur. Un double-clic sur un utilisateur ouvrira un
+fenêtre de conversation avec lui.
4. Configurer le dialogue : Ce dialogue apparaît lorsque l'option est
sélectionné dans le menu. Ce dialogue permettra de nouvelles valeurs et

Page
10
enregistrement dans le fichier de configuration. Vous pouvez changer le nom d'hôte du serveur

et port.
5. Menu principal : Les options disponibles pour le serveur. Les options
include connect, disconnect, configure, exit, close current tab,
fermez tous les onglets, aide.

Page
11
TESTING
[Link] Description Étapes de test Résultat attendu
login_001 Verify that user Invoke application La page de connexion devrait

devrait être capable de


être affiché avec
le suivant
connectez-vous au système. détails
a) identifiant-utilisateur zone de texte
b) mot de passe – texte
boîte
c)login-button
d) Lien d'inscription

Entrez le nom d'utilisateur et Pour l'utilisateur valide


mot de passe sur la page de connexion
la page de discussion de
et
cliquez sur le bouton de connexion utilisateur correspondant

devrait être
affiché au
utilisateur.
Entrez le nom d'utilisateur et nul Un message devrait

le mot de passe sera affiché à

utilisateur entrée
mot de passe
Nom d'utilisateur nul et un message devrait

mot de passe afficher S'il vous plaît


entrez les champs.
Entrez un nom d'utilisateur invalide La page d'erreur devrait
et mot de passe. être affiché et
invite l'utilisateur à re-
connexion.

Page
12
Entrez un nom d'utilisateur correct Un message „invalide
le mot de passe devrait
et mot de passe incorrect.
être affiché à
user.

[Link] Expéditeur : Message nul Un message que


/ Réception Tapez le message affiche "s'il vous plaît

message dans la zone de texte, sélectionnez Entrez un message


destinataire et cliquezEntrez un message et aucun Un message que
bouton d'envoi. destinataire. affiche "S'il vous plaît"

entrer le destinataire

Entrez un message et un message qui


adresse du destinataire affiche "Message
Envoyé.
Receiver: Envoyer un message à l'affichage le
Recevoir un message récepteur. message dans la boîte de réception

de l'expéditeur. côté.

Page
13
EXIGENCES EN MATÉRIEL ET LOGICIEL

EXIGENCES LOGICIELLES
Système d'exploitation : Windows 7

Frontend : Java

Éditeur : Netbeans

HARDWARE REQUIREMENTS

Processeur : Intel Pentium ou supérieur

Mouton : 512 Mo ou plus

Disque dur : 40 Go ou plus

Page
14
AMÉLIORATION FUTURE & PORTEE

1. Informations sur la session de connexion : Nous pouvons inclure une fonctionnalité dans cette application
cela gardera un enregistrement de la session de connexion de l'utilisateur.

2. Messages hors ligne : L'utilisateur peut envoyer des messages à des amis même lorsqu'ils sont
hors ligne.

3. Transfert et partage de fichiers : L'utilisateur peut transférer un ou plusieurs fichiers à d'autres.


Les utilisateurs. Un fichier peut également être partagé entre deux utilisateurs ou plus.

4. Base de données des profils : Les informations de profil de chaque utilisateur peuvent être stockées à
le serveur.

5. Délai de déconnexion : Cette fonctionnalité permet à l'utilisateur d'être connecté uniquement pour un
temps spécifique. Après la fin de cette période, l'utilisateur est automatiquement déconnecté
dehors.

Page
15

Vous aimerez peut-être aussi