HLW-Chatroom – ein Chat-Tool für mehrere Personen, das mithilfe der Linux-C-Netzwerkprogrammiertechnologie entwickelt wurde
Installation und Bereitstellung
git clone https://github.com/fujie-xiyou/chat_room.git
Importieren Sie dann chat_room.sql
in Ihre Datenbank und ändern Sie die Datenbankinformationen in config.json
Wenn schließlich in ./chat_room_srv
kein Fehler gemeldet wird, wird der Server erfolgreich gestartet.
Ändern Sie dann die Serveradresse in config.json und schließlich ./chat_room_cli
Bitte registrieren Sie zunächst ein Konto
Demovideo
Chatroom-Videodemo
Projektübersicht
- Bei diesem Projekt handelt es sich um einen Chatroom mit Zeichenschnittstelle, der mithilfe der Linux-C-Netzwerkprogrammiertechnologie entwickelt wurde. Zu den Grundfunktionen gehören Benutzerregistrierung und -anmeldung, Hinzufügen von Freunden, privater Chat, Erstellen eines Gruppenchats, Einladen von Freunden zum Gruppenchat, Gruppenchat, Anzeigen von Chataufzeichnungen usw Dateiübertragung warten.
Projektdesign
- Dieses Projekt basiert auf dem C/S-Modell und ist in zwei Teile unterteilt: Client und Server. Der Client ist direkt mit dem Server verbunden und tauscht Daten mit dem Server in beide Richtungen aus. Der Server wird zum Empfangen von Nachrichten vom Client verwendet und an den Zielbenutzer weiterleiten, werden alle Datenpersistenzarbeiten auch auf der Serverseite abgeschlossen.
- Der Projektcode basiert auf einer mehrschichtigen Idee. Der Client besteht aus der Schnittstellenschicht und der Geschäftslogikschicht (Anforderungsschicht), und der Server besteht aus der Geschäftslogikschicht und der Persistenzschicht.
- Datenbankdesign
- Als dieses Projekt entwickelt wurde, hatte ich nicht systematisch datenbankbezogene Kurse studiert, aber als ich später das Datenbankdesign dieses Projekts überprüfte, stellte ich fest, dass es dem BC-Paradigma entsprach.
- Einige Beispiele der Projektdatenbank sind in der Abbildung dargestellt
- Design der Dateiübertragungsfunktion Da der Client und der Server dieses Projekts JSON für die Dateninteraktion verwenden, ist eine spezielle Verarbeitung für die Dateiübertragung erforderlich. Daher finden Sie hier eine kurze Einführung in die Verarbeitungsmethode der Dateiübertragung.
- Wie in der Abbildung gezeigt, verwendet das System, nachdem der Benutzer den zu sendenden Dateinamen eingegeben hat, den Systemaufruf open (), um die Datei zu öffnen, und liest dann mit dem Systemaufruf read () den Dateiinhalt der angegebenen Bytes Zeichnen Sie den Rückgabewert von read in der Größe des Datenpakets auf und verwenden Sie dann base6, um den Dateiinhalt zu lesen 4. Transkodieren Sie, zeichnen Sie das Ergebnis im Datenfeld des Datenpakets auf, senden Sie das Datenpaket dann an den Empfänger und beurteilen Sie dann anhand der Größe des gelesenen Rückgabewerts, ob alle Dateien gesendet wurden Der Wert ist kleiner als der Lesegrößenparameter. Schließen Sie dann die Datei, andernfalls fahren Sie mit dem Lesen, Transkodieren und Senden fort.
- Nach dem Empfang des Dateipakets dekodiert der Empfänger die Daten in Daten in Binärdateien und hängt die Daten dann an den Puffer an, der das Transkodierungsergebnis der Daten entsprechend dem Größenwert an die Datei speichert.