Find Jobs
Hire Freelancers

Selective repeate with java

$30-250 USD

Geschlossen
Veröffentlicht vor mehr als 6 Jahren

$30-250 USD

Bezahlt bei Lieferung
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
Projekt-ID: 15870022

Über das Projekt

16 Vorschläge
Remote Projekt
Aktiv vor 6 Jahren

Möchten Sie etwas Geld verdienen?

Vorteile einer Ausschreibung auf Freelancer

Legen Sie Ihr Budget und Ihren Zeitrahmen fest
Für Ihre Arbeit bezahlt werden
Skizzieren Sie Ihren Vorschlag
Sie können sich kostenlos anmelden und auf Aufträge bieten
16 Freelancer bieten im Durchschnitt $175 USD für diesen Auftrag
Avatar des Nutzers
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 Tagen
4,9 (127 Bewertungen)
6,9
6,9
Avatar des Nutzers
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 Tagen
4,9 (22 Bewertungen)
6,2
6,2
Avatar des Nutzers
A proposal has not yet been provided
$200 USD in 3 Tagen
5,0 (56 Bewertungen)
5,8
5,8
Avatar des Nutzers
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 Tagen
4,8 (33 Bewertungen)
4,8
4,8
Avatar des Nutzers
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 Tagen
5,0 (6 Bewertungen)
3,8
3,8
Avatar des Nutzers
We have experts on JAVA application development we working on Spring, Hibernate and Struts framework
$155 USD in 3 Tagen
0,0 (0 Bewertungen)
0,0
0,0
Avatar des Nutzers
I have experience in Java programming and sockets. Relevant Skills and Experience Java, sockets.
$155 USD in 3 Tagen
0,0 (0 Bewertungen)
0,0
0,0

Über den Kunden

Flagge von UNITED STATES
Torrance, United States
0,0
0
Zahlungsmethode verifiziert
Mitglied seit Dez. 13, 2017

Kundenüberprüfung

Danke! Wir haben Ihnen per E-Mail einen Link geschickt, über den Sie Ihr kostenloses Guthaben anfordern können.
Beim Senden Ihrer E-Mail ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.
Registrierte Benutzer Veröffentlichte Jobs
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Vorschau wird geladen
Erlaubnis zur Geolokalisierung erteilt.
Ihre Anmeldesitzung ist abgelaufen und Sie wurden abgemeldet. Bitte melden Sie sich erneut an.