Đã Đóng

Write some java code

I need you to develop some software for me. I would like this software 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 (![url removed, login to view]()) AND (lastSent - snd_base < WINDOW_SIZE) do get a packet from input Queue (p = [url removed, login to view](); )

make datagram from p (Packet has method for this)

send datagram ([url removed, login to view](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 ([url removed, login to view](datagram);)

make packet from datagram (Packet has method)

get sequence number from packet (rseq_num = [url removed, login to view]();) 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

Kỹ năng: Java, Kiến trúc phần mềm

Xem thêm: write java code online, read write windows registry java code, code java hide windows task manager, write java code implement client server sides, java code write excel sheet mysql database, write java code money, modify java code connectionacceptor uses print write, running windows media player java code, java code control windows, java code write code increase rate per day, write java code card game, java code windows media player, write java code guis, write java script code odd numbers, connect board java write game code

Về Bên Thuê:
( 0 nhận xét ) United States

Mã Dự Án: #15869169

4 freelancer đang chào giá trung bình $34 cho công việc này

$80 USD trong 3 ngày
(253 Đánh Giá)

Hi I am a professional software engineer I have +3 years experience in this field I have lots of expertise in Java and software development I will provide quality work according to your requirements we can discuss more Thêm

$20 USD trong 1 ngày
(14 Đánh Giá)

hello I will be glad by working in this task I have many previous applications in Java development i have many previous applications related to this task requirements i can show some of them throw teamviewer app Thêm

$10 USD trong 1 ngày
(0 Đánh Giá)

We have experts on JAVA application development we working on Spring, Hibernate and Struts framework

$25 USD trong 1 ngày
(0 Đánh Giá)