Skip to content
Snippets Groups Projects
Commit f03e9090 authored by Thea Olivia's avatar Thea Olivia
Browse files

organizing files

parent acd785f3
Branches
No related merge requests found
File added
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class Client {
/**
* Contoh kode program untuk node yang mengirimkan paket. Paket dikirim
* menggunakan UnreliableSender untuk mensimulasikan paket yang hilang.
*/
public static void main(String args[]) throws Exception
{
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
String targetAddress = "localhost";
InetAddress IPAddress = InetAddress.getByName(targetAddress);
int targetPort = 9876;
DatagramSocket datagramSocket = new DatagramSocket();
UnreliableSender unreliableSender = new UnreliableSender(datagramSocket);
while (true)
{
String sentence = inFromUser.readLine();
if (sentence.equals("quit"))
{
break;
}
byte[] sendData = sentence.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, targetPort);
unreliableSender.send(sendPacket);
}
datagramSocket.close();
}
}
import java.net.DatagramSocket;
import java.net.DatagramPacket;
import java.net.InetAddress;
public class Receiver
{
/**
* Contoh kode program untuk node yang menerima paket. Idealnya dalam paxos
* balasan juga dikirim melalui UnreliableSender.
*/
public static void main(String args[]) throws Exception
{
int listenPort = 9876;
DatagramSocket serverSocket = new DatagramSocket(listenPort);
byte[] receiveData = new byte[1024];
while(true)
{
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
String sentence = new String(receivePacket.getData(), 0, receivePacket.getLength());
System.out.println("RECEIVED: " + sentence);
}
}
}
File added
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.util.Random;
/**
* Kelas pembungkus DatagramSocket yang mensimulaiskan paket yang hilang
* dalam pengiriman.
*/
public class UnreliableSender
{
private DatagramSocket datagramSocket;
private Random random;
public UnreliableSender(DatagramSocket datagramSocket) throws SocketException {
this.datagramSocket = datagramSocket;
random = new Random();
}
public void send(DatagramPacket packet) throws IOException {
double rand = random.nextDouble();
if (rand < 0.85) {
datagramSocket.send(packet);
}
}
}
File added
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment