How theplaceoftangerine/mfc_chat works
This repository’s main product is a Windows MFC chat client backed by a TCP server. The principal flow is a user action in the client UI, sent through the TCP client, handled by the server, and persisted through its database layer. Server declarations and database APIs show support for login, direct and group messaging, delivery/read state, attachments, avatars, and conversation queries. The UI-to-client and server-to-database links are evidenced; the client-to-server wire relationship is strongly implied but not directly shown in the excerpts. Week-based projects appear to be separate prototypes or variants.
Main entry points: Server.cpp TCP request handling · TcpChatClient.cpp TCP client · MFCChatDlg.cpp Chat UI · Database.cpp Chat data access
Components 16
Chat client
- Chat UI
MFCChat/MFCChatDlg.cpp - Login and registration
MFCChat/CLoginDlg.cpp - TCP client
MFCChat/TcpChatClient.cpp - Chat protocol
MFCChat/ChatProtocol.h
Chat server
- TCP request handling
Server/Server.cpp - Account operations
Server/Server.cpp - Direct messages
Server/Server.cpp - Group messaging
Server/Server.cpp - Attachments and avatars
Server/Server.cpp
Persistence
- Chat data access
Server/Database.cpp - SQLite engine
Server/sqlite3.c
IPC variants
- Named-pipe client
Week3/MFCChat_NamedPipe/MFCChat/NamedPipeClient.cpp - Named-pipe server
Week3/MFCChat_NamedPipe/MFCChat/NamedPipeServer.cpp - Windows-message chat
Week3/MFCChat_WindowsMessage/MFCChat/ChatWindowsMessage.cpp - Variant database
Week3/MFCChat_WindowsMessage/MFCChat/Database.cpp
Other components
- Chat user
Connections 13
- Chat user → Chat UI: uses
- Chat UI → TCP client: calls
MFCChat/MFCChatDlg.cpp - Login and registration → TCP client: uses
- TCP client → Chat protocol: uses
MFCChat/TcpChatClient.cpp - TCP client → TCP request handling: sends requests
- TCP request handling → Account operations: dispatches
Server/Server.cpp - TCP request handling → Direct messages: dispatches
Server/Server.cpp - TCP request handling → Group messaging: dispatches
Server/Server.cpp - TCP request handling → Attachments and avatars: dispatches
Server/Server.cpp - TCP request handling → Chat data access: reads and writes
Server/Server.cpp - Chat data access → SQLite engine: uses
- Named-pipe client → Named-pipe server: communicates
- Windows-message chat → Variant database: uses