How sodamkimkim/javasocketnetworking_youcheatalk works
YouChaeTalk is a Java Swing chat-room application using socket communication and multithreading. A user connects with an ID, views users and rooms, creates or joins a room, and exchanges room messages or private notes; the server manages connected users, room membership, and broadcasts. The README also documents stacked-panel navigation, duplicate checks, and empty-room cleanup. The excerpts show the principal client/server protocol and an older chatting_ref implementation; the legacy client’s details and some newer client handlers were only partially sampled.
Main entry points: SodamiChat/Client.java Swing client · SodamiChat/Server.java Protocol dispatch · chatting_ref/Client.java Legacy Swing client · chatting_ref/Server.java Legacy socket server
Components 14
Current Chat
- Swing client
SocketNetworkingChatting/src/SodamiChat/Client.java - Panel navigation
SocketNetworkingChatting/src/SodamiChat/Client.java - User and room lists
SocketNetworkingChatting/src/SodamiChat/Client.java - Room chat view
SocketNetworkingChatting/src/SodamiChat/Client.java - Private notes
SocketNetworkingChatting/src/SodamiChat/Client.java
Server Runtime
- Server controls
SocketNetworkingChatting/src/SodamiChat/Server.java - Socket sessions
SocketNetworkingChatting/src/SodamiChat/Server.java - Protocol dispatch
SocketNetworkingChatting/src/SodamiChat/Server.java - Connected users
SocketNetworkingChatting/src/SodamiChat/Server.java - Chat rooms
SocketNetworkingChatting/src/SodamiChat/Server.java
Legacy Chat
- Legacy Swing client
SocketNetworkingChatting/src/chatting_ref/Client.java - Legacy socket server
SocketNetworkingChatting/src/chatting_ref/Server.java - Legacy room handling
SocketNetworkingChatting/src/chatting_ref/Server.java
Other components
- Chat user
Connections 15
- Chat user → Swing client: uses
README.md - Swing client → Panel navigation: manages panels
README.md - Swing client → Socket sessions: opens socket
SocketNetworkingChatting/src/SodamiChat/Client.java - Swing client → Protocol dispatch: sends commands
SocketNetworkingChatting/src/SodamiChat/Client.java - Protocol dispatch → Connected users: updates users
SocketNetworkingChatting/src/SodamiChat/Server.java - Protocol dispatch → Chat rooms: updates rooms
SocketNetworkingChatting/src/SodamiChat/Server.java - Swing client → User and room lists: shows lists
SocketNetworkingChatting/src/SodamiChat/Client.java - Swing client → Room chat view: sends chat
SocketNetworkingChatting/src/SodamiChat/Client.java - Swing client → Private notes: sends notes
SocketNetworkingChatting/src/SodamiChat/Client.java - Protocol dispatch → Private notes: routes notes
SocketNetworkingChatting/src/SodamiChat/Server.java - Protocol dispatch → Room chat view: broadcasts chat
SocketNetworkingChatting/src/SodamiChat/Server.java - Server controls → Socket sessions: starts listener
SocketNetworkingChatting/src/SodamiChat/Server.java - Chat user → Legacy Swing client: uses
SocketNetworkingChatting/src/chatting_ref/Client.java - Legacy Swing client → Legacy socket server: connects by socket
SocketNetworkingChatting/src/chatting_ref/Client.java - Legacy socket server → Legacy room handling: manages membership
SocketNetworkingChatting/src/chatting_ref/Server.java