Sliding Window
Sliding Window
*;
import java.net.*;
byte[] buffer = new byte[1024]; // Increased buffer size to receive packet data
while (true) {
socket.receive(packet);
if (!receivedPackets[seqNum]) {
socket.send(ackPacket);
} else {
import java.io.*;
import java.net.*;
int windowSize = 4;
int base = 0;
for (int i = base; i < base + windowSize && i < data.length; i++) {
if (!sentPackets[i]) { // Only send if not already sent
socket.send(packet);
socket.receive(ackPacket);
socket.close();