How marselsampe/java-socket-tcp-sample works
This repository is a collection of independent Java TCP socket examples, not one integrated application. Each demonstrates a client/server workflow: connect, exchange a message or serialized payload, and display or process the result. Chat ranges from single-client messaging to multi-client broadcast; other samples retrieve server dates, transfer a file, send a list or custom object, or provide a Swing student-data GUI. The graph groups related examples; unsampled implementation details are not inferred beyond the README’s capability descriptions.
Main entry points: Client.java Multi-Client Chat · src/Client1.java Student Entry GUI · ChatServerThread.java Client Handler · client/Client1.java Date Client 1
Components 27
TCP Chat
- Basic Chat Client
Socket_Chat/src/chat/client/Client.java - Basic Chat Server
Socket_Chat/src/chat/server1/Server.java - Single-Client Server
Socket_Chat/src/chat/server2/Server.java - Threaded Server
Socket_Chat/src/chat/server3/Server.java - Server Client Thread
Socket_Chat/src/chat/server3/ChatServerThread.java - Multi-Client Chat
Socket_Chat/src/chat/client2/Client.java - Chat Receive Thread
Socket_Chat/src/chat/client2/ChatClientThread.java - Broadcast Server
Socket_Chat/src/chat/server4/Server.java - Server Client Thread
Socket_Chat/src/chat/server4/ChatServerThread.java
Date Samples
- Date Client 1
Socket_Date/src/client/Client1.java - Date Client 2
Socket_Date/src/client/Client2.java - Date Server 1
Socket_Date/src/server/Server1.java - Date Server 2
Socket_Date/src/server/Server2.java
Payload Transfers
- File Receiver
Socket_SendFile/src/client/Client.java - File Sender
Socket_SendFile/src/server/Server.java - List Receiver
Socket_SendList/src/client/Client.java - List Sender
Socket_SendList/src/server/Server.java - Object Receiver
Socket_SendObject/src/client/Client.java - Object Sender
Socket_SendObject/src/server/Server.java - Student Data Model
Socket_SendObject/src/model/Mahasiswa.java
Swing Application
- Student Entry GUI
Socket_SimpleApp_Client/src/Client1.java - GUI Client 2
Socket_SimpleApp_Client/src/Client2.java - GUI Server
Socket_SimpleApp_Server/src/Server.java - Client Handler
Socket_SimpleApp_Server/src/ChatServerThread.java - Server Student Model
Socket_SimpleApp_Server/src/Mahasiswa.java - Client Student Model
Socket_SimpleApp_Client/src/Mahasiswa.java
Other components
- User
Connections 30
- User → Basic Chat Client: uses
README.md - User → Multi-Client Chat: uses
README.md - Basic Chat Client → Basic Chat Server: chat TCP
README.md - Multi-Client Chat → Broadcast Server: chat TCP
Socket_Chat/src/chat/client2/Client.java - Multi-Client Chat → Chat Receive Thread: starts
Socket_Chat/src/chat/client2/Client.java - Chat Receive Thread → Multi-Client Chat: delivers messages
Socket_Chat/src/chat/client2/ChatClientThread.java - Single-Client Server → Threaded Server: chat variants
README.md - Threaded Server → Server Client Thread: starts handler
- Broadcast Server → Server Client Thread: starts handler
- User → Date Client 1: requests date
README.md - User → Date Client 2: requests date
README.md - Date Client 1 → Date Server 1: TCP exchange
README.md - Date Client 2 → Date Server 2: TCP exchange
Socket_Date/src/client/Client2.java - Date Server 1 → Date Client 1: returns date
README.md - Date Server 2 → Date Client 2: returns date
README.md - User → File Receiver: receives file
README.md - File Sender → File Receiver: sends file
Socket_SendFile/src/server/Server.java - User → List Receiver: receives list
README.md - List Sender → List Receiver: sends list
README.md - User → Object Receiver: views object
README.md - Object Sender → Object Receiver: sends object
Socket_SendObject/src/server/Server.java - Object Sender → Student Data Model: creates
Socket_SendObject/src/server/Server.java - Object Receiver → Student Data Model: deserializes as
Socket_SendObject/src/client/Client.java - User → Student Entry GUI: enters student data
README.md - Student Entry GUI → GUI Server: submits data
README.md - GUI Server → Client Handler: starts handler
- Client Handler → GUI Server: updates records
- Student Entry GUI → Client Student Model: creates
Socket_SimpleApp_Client/src/Client1.java - Client Handler → Server Student Model: uses
- User → GUI Client 2: uses
README.md