Sunteți pe pagina 1din 4

import java.util.

*;
public class TestFereastraGlisanta {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("Introdu mesajul de transmisie: ");
String mesaj=sc.nextLine();
//sursa initiaza o cerere de conexiune
Calculator c=new Calculator("Sursa");
Pachet p=new Pachet(0, 0, 1, 0);
Random r=new Random();
c.setNume("Destinatie");
int lungimeMesaj=mesaj.length();
int sumaFerestre=0;
int dimensiuneFereastra=0;
String pachetTransmis;
int lungimeTemporara=lungimeMesaj;
int poz;
int pozf;
//&& sumaFerestre<lungimeMesaj
while(p.getFin()==0 && sumaFerestre<lungimeMesaj)
{
if (c.esteDestinatie())
{
p.setX(1+sumaFerestre);
p.setSyn(1);
p.setAck(1);//ramane la fel
do
{
dimensiuneFereastra=r.nextInt(lungimeTemporara+1);
}while (dimensiuneFereastra==0);
poz=sumaFerestre;
sumaFerestre+=dimensiuneFereastra;
pozf=sumaFerestre;
lungimeTemporara-=dimensiuneFereastra;
if (sumaFerestre==lungimeMesaj)
{
p.setFin(1);
}
pachetTransmis="";
pachetTransmis=mesaj.substring(poz,pozf);
System.out.println("La destinatie a ajuns: "+p);
System.out.println("Dimensiunea ferestrei este de:
"+dimensiuneFereastra);
}

System.out.println("Pachet transmis este: "+pachetTransmis);


c.setNume("Sursa");

if(c.esteSursa())
{
p.setX(sumaFerestre);
System.out.println("La sursa avem: "+p);
c.setNume("Destinatie");
}

}
}

_____________________________________________________________________________________
import java.util.*;
public class TestFereastraGlisanta {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("Introdu mesajul de transmisie: ");
String mesaj=sc.nextLine();
//sursa initiaza o cerere de conexiune
Calculator c=new Calculator("Sursa");
Pachet p=new Pachet(0, 0, 1, 0);
Random r=new Random();
c.setNume("Destinatie");
int lungimeMesaj=mesaj.length();
int sumaFerestre=0;
int dimensiuneFereastra=0;
String pachetTransmis;
int lungimeTemporara=lungimeMesaj;
int poz;
int pozf;
//&& sumaFerestre<lungimeMesaj
while(p.getFin()==0 && sumaFerestre<lungimeMesaj)
{
if (c.esteDestinatie())
{
p.setX(1+sumaFerestre);
p.setSyn(1);
p.setAck(1);//ramane la fel
do
{
dimensiuneFereastra=r.nextInt(lungimeTemporara+1);
}while (dimensiuneFereastra==0);
poz=sumaFerestre;
sumaFerestre+=dimensiuneFereastra;
pozf=sumaFerestre;
lungimeTemporara-=dimensiuneFereastra;
if (sumaFerestre==lungimeMesaj)
{
p.setFin(1);
}

pachetTransmis="";
pachetTransmis=mesaj.substring(poz,pozf);
System.out.println("La destinatie a ajuns: "+p);
"+dimensiuneFereastra);

System.out.println("Dimensiunea ferestrei este de:


System.out.println("Pachet transmis este: "+pachetTransmis);
c.setNume("Sursa");

}
if(c.esteSursa())
{
p.setX(sumaFerestre);
System.out.println("La sursa avem: "+p);
c.setNume("Destinatie");
}

}
}

_____________________________________________________________________________________
public class Calculator {
private String nume;
public String getNume() {
return nume;
}
public Calculator(String nume) {
this.nume = nume;
}
public void setNume(String nume) {
this.nume = nume;
}
public boolean esteSursa()
{
boolean eSursa;
if(this.nume.equals("Sursa"))
eSursa=true;
else
eSursa=false;
return eSursa;
}
public boolean esteDestinatie()
{
boolean eDestinatie;
if(this.nume.equals("Destinatie"))
eDestinatie=true;
else
eDestinatie=false;
return eDestinatie;
}

public String toString() {


return "Calculator [nume=" + nume + "]";
}
}

S-ar putea să vă placă și