Find Jobs
Hire Freelancers

Selective repeate with java

$30-250 USD

Chiuso
Pubblicato più di 6 anni fa

$30-250 USD

Pagato al completamento
I need you to develop some java code for me. I would like this project to be developed using Java. I need some one to this on java SR sender Sliding Window – Selective-Repeat 1. Get Input: if any there is any input from the users (chars or words) add to a list or queue private static ArrayBlockingQueue<Packet> queue; // Blocking version is thread save if there is not more input then once we have send off all the packets (and got acks) we are done so set a flag or something similar 2. Send Packets if input Queue has packets to send AND Sliding Window has slots send packets while (![login to view URL]()) AND (lastSent - snd_base < WINDOW_SIZE) do get a packet from input Queue (p = [login to view URL](); ) make datagram from p (Packet has method for this) send datagram ([login to view URL](datagram);) set timer and thread for resending (Packet has method for this) note the sequence number of the packet, we are going to have to wait for an acknowledgement add sseq_num to the Set Set_of_UnaAcked_Packets (Packet has method for this) Note the Set is a SortedSet<Integer> // ordered/sorted set 3. Receive Acknowledgements if Sliding Window has slots used slots (snd_base <= lastSent) try to get all possible acks make packet and datagram receive datagram ([login to view URL](datagram);) make packet from datagram (Packet has method) get sequence number from packet (rseq_num = [login to view URL]();) if sequence number too big then ignore packet (continue) if less than Window base (snd_base) then ignore packet (continue) if sequence number in-between snd_base and snd_base + WINDOW_SIZE then check if sequence number is in Set_of_UnaAcked_Packets if it is an unAcknowledged Packet then unschedule Thread resend task & timer (Packet) and see if we can move Windows base identify contiguous sequence of acknowledged packets and update Window base snd_base = largest sequence_number of contiguous acknowledged packets . starting with snd_base for example, if we received ack for 6 and had Set with {6 7 8 11 13} note set is a ordered set (sorted) then we would set snd_base to 8 and remove from 6, 7, and 8 from the Set if packet is ack for LAST (we sent our LAST packet and this is an ack for it) and Set is and queue are empty we are DONE SR receiver 1. Receive packet get packet sequence_number if sequence number is less that rcv_base then we have already received (and acknowledged) this packet but the sender has sent it again (lost ack?) so send an ACK packet again if sequence number is greater than rcv_base+WINDOW_SIXE -1 then it is outside windows, we just ignore it (continue) if sequence number is in between rcv_base and rcv_base+WINDOW_SIXE -1 then receiver’s window and we need to send a selective ACK packet If the packet was not previously received, it is buffered. (added to a small list) If this packet has a sequence number equal to the base of the receive window, then this packet, and any previously . buffered and consecutively numbered (beginning with rcv_base) packets are printed out (in order) And then receive window base (rcv_bas) is then moved forward by the number of packets printed For example if we have rcv_base=2 and received i packets 2, 3, 4, 6,8 can printout 2, 3, and 4 And set rcv_base to 5
Rif. progetto: 15870022

Info sul progetto

16 proposte
Progetto a distanza
Attivo 6 anni fa

Hai voglia di guadagnare un po'?

I vantaggi delle offerte su Freelancer

Imposta il tuo budget e le scadenze
Fatti pagare per il lavoro svolto
Delinea la tua proposta
La registrazione e le offerte sui lavori sono gratuite
16 freelance hanno fatto un'offerta media di $175 USD
Avatar dell'utente
I am very proficient in java. I have 16 years java developing experience now, and have worked for more than 6 years. My work is online game developing, and mainly focus on server side, using java under windows environment. I used java to make many great projects, for example, I made the tools which can convert java files into c++ scripts, of course garbage collection included, this job is very similar to a compiler, and is very complex. I also made our own mobile game using java, I can show you the demo of client, if you like. I am very proficient in c++ also. I have a very good review on Freelancer.com, I never miss a project once I accept the job, you can check my review. Trust me, please let expert help you.
$180 USD in 3 giorni
4,9 (127 valutazioni)
6,9
6,9
Avatar dell'utente
Hi! My name is Ihor, I will be glad to help you with your project. I have strong experience in Java and Android development for 3+ years. Feel free to contact me any time so we can discuss details.
$150 USD in 3 giorni
4,9 (22 valutazioni)
6,2
6,2
Avatar dell'utente
A proposal has not yet been provided
$200 USD in 3 giorni
5,0 (56 valutazioni)
5,8
5,8
Avatar dell'utente
I would like to offer myself as a probable candidate for this assignment as I am confident of delivering a quality output. I have excellent expertise in this area. I have total 7 years or experience in web development and design using java,j2ee,spring,hibernate,CSS,jquery,angular js, rest/soap web services
$155 USD in 3 giorni
4,8 (33 valutazioni)
4,8
4,8
Avatar dell'utente
Hello sir, i am a software developer JAVA/J2EE i worked in a lot of projects Web and Desktop, i am ready to start working with you.
$166 USD in 3 giorni
5,0 (6 valutazioni)
3,8
3,8
Avatar dell'utente
We have experts on JAVA application development we working on Spring, Hibernate and Struts framework
$155 USD in 3 giorni
0,0 (0 valutazioni)
0,0
0,0
Avatar dell'utente
I have experience in Java programming and sockets. Relevant Skills and Experience Java, sockets.
$155 USD in 3 giorni
0,0 (0 valutazioni)
0,0
0,0

Info sul cliente

Bandiera: UNITED STATES
Torrance, United States
0,0
0
Metodo di pagamento verificato
Membro dal dic 13, 2017

Verifica del cliente

Grazie! Ti abbiamo inviato tramite email il link per richiedere il tuo bonus gratuito.
Non è stato possibile inviarti l'email. Riprova per piacere.
di utenti registrati di lavori pubblicati
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Caricamento anteprima
Autorizzazione per la geolocalizzazione concessa.
La tua sessione è scaduta ed è stato effettuato il log out. Accedi nuovamente per piacere.