Find Jobs
Hire Freelancers

Datagrams in C

$30-250 USD

Closed
Posted about 8 years ago

$30-250 USD

Paid on delivery
I need to enhance existing code for my server in C. First, take the programs I have receiver and sender both can be compiled and ran to receive a datagram and instead modify them to use sender.c and the receiver.c code as 1bit unidirectional. Secondly, make a program that uses them that is bidirectional. Prepare a set of mockup randomly generated frames and save them in a file. For now a frame is just a sample set of 0s and 1s. Now test that the protocol works. Collect a bunch of screenshots to show you've tested it. Thirdly, The frames can arrive properly or they can be corrupted during transmission. Implement an error-detection mechanism using the standard CRC algorithm. For this part, you need two programs, the generator and the verifier. The generator program reads from the standard input or from a file a line of ASCII text containing an n-bit message consisting of a string of 0s and 1s. The second line is the k-bit polynomial, also in ASCII. The generator outputs to standard output a line of ASCII test with m+k 0s and 1s representing the message to be transmitted. Then it outputs the polynomial, just as it read it in. The verifier program reads in the transmitted message and outputs a message indicating whether it is correct or not. To check that your code-detection program works properly, write a program alter that inverts 1 bit on the first line (in the message) depending on its argument (the bit counting the leftmost bit as 1) but copies the rest of the two lines correctly. Fourthly, when you are convinced that your CRC code is working, pick a single k-bit polynomial and use it to add your CRC to the sample frames you generated. Incorporate the error verification in the 1-bit sliding window protocol and resend the frame if an error occurred. To simulate an error in transmission, flip a coin and for head run the alter program, for tail you do not. Lastly, Implement the Go-back-n and provide a testing of the implementation. Deliverables: 1. The 1-bit unidirectional sliding window protocol code 2. The 1-bit bidirectional sliding window protocol code 3. The testing of the bidirectional sliding window protocol code 4. The CRC algorithm implementation 5. The 1-bit bidirectional sliding window protocol code with CRC 6. (Optional) The Go-back-n and its testing
Project ID: 10117943

About the project

5 proposals
Remote project
Active 8 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
5 freelancers are bidding on average $179 USD for this job
User Avatar
I am very proficient in c and c++. I have 16 years c++ developing experience now, and have worked for more than 6 years. My work is online game developing, and mainly focus on server side, using c++ under linux environment. I used c++ 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 c++, I can show you the demo of client, if you like. I am very proficient in java 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.
$150 USD in 2 days
4.9 (104 reviews)
6.8
6.8
User Avatar
I am good expert such systems like client and server communication using C and C++ under UNIX I have a good experience in C and C++
$166 USD in 3 days
4.6 (1 review)
1.5
1.5

About the client

Flag of UNITED STATES
Denver, United States
5.0
1
Payment method verified
Member since Apr 3, 2016

Client Verification

Other jobs from this client

Datagrams in C -- 2
$30-250 USD
Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.