Welcome to the Network Programming repository! This repository contains various examples and exercises related to network programming, primarily using Java.
This repository is a collection of network programming examples designed to help you understand and implement network communication using Java. It includes examples such as TCP echo server and client, UDP communication, and other common networking tasks.
To run the examples in this repository, you will need the following:
- ☕ Java Development Kit (JDK) 8 or higher
- 🖥️ A code editor or IDE (e.g., IntelliJ IDEA, Eclipse, VSCode)
-
Clone the repository:
git clone https://github.com/kavindaperera/network-programming.git
-
Navigate to the project directory:
cd network-programming
-
Open the project in your preferred IDE or code editor.
📦
├─ .gitignore
└─ network-programming
├─ network-programming.iml
├─ pom.xml
└─ src
├─ main
│ └─ java
│ └─ com
│ └─ nova
│ ├─ basicsockets
│ │ ├─ InetAddressExample.java
│ │ ├─ tcpsockets
│ │ │ ├─ TCPByteToByteEchoServer.java
│ │ │ ├─ TCPEchoClient.java
│ │ │ └─ TCPEchoServer.java
│ │ └─ udpsockets
│ │ ├─ UDPEchoClientTimeout.java
│ │ ├─ UDPEchoServer.java
│ │ ├─ UDPReceiver.java
│ │ ├─ UDPReceiverWithOffset.java
│ │ └─ UDPSender.java
│ ├─ data
│ │ └─ BruteForceCoding.java
│ └─ netty
│ ├─ client
│ │ ├─ NettyClient.java
│ │ ├─ decoders
│ │ │ └─ ResponseDataDecoder.java
│ │ ├─ encoders
│ │ │ └─ RequestDataEncoder.java
│ │ └─ handlers
│ │ └─ ClientHandler.java
│ ├─ models
│ │ ├─ RequestData.java
│ │ └─ ResponseData.java
│ └─ server
│ ├─ NettyServer.java
│ ├─ decorders
│ │ └─ RequestDecoder.java
│ ├─ encoders
│ │ └─ ResponseDataEncoder.java
│ └─ handlers
│ ├─ ProcessingHandler.java
│ └─ SimpleProcessingHandler.java
└─ test
└─ java
└─ com
└─ nova
└─ AppTest.java