Udp programming project journaling application

Assignment Help Computer Networking
Reference no: EM13808157

UDP Programming Project Journaling Application

We have been looking at using Java UDP Sockets to build networked applications. The example provided with this week's lecture demonstrates some of the basic ideas for setting up a networked application using UDP in Java. This week's programming assignment is to design and build a journal application using UDP.

The journaling application is to be designed so that a client can access their journal entries from anywhere. They can store any text information in their journal. This journaling system should be set up to support the following operations:

  1. The client's user name is used by the server to locate journal entries made by that client.
  2. When the client starts the journal application, he or she must identify themselves with their user name and indicate which journal entry they want to work on. Journal entries are identified by the month, day, and year. There is only one journal entry per month-day-year per client.
  3. A client can access the journal entry from any date. For example, a client may create a new journal entry in the morning. Later in the day, the client may continue working on the journal entry for that day. This means, the server retrieves the journal entry and sends it to the client where is it displayed in a text area. The client can change the entry or add to it. When finished, the client can once again save the entry, which sends the updated text to the server for storage.
  4. From the above operations, the journal server must support reading a journal entry for a specific client user name and month-day-year. It must also support saving a journal entry for a specific client user name and month-day-year.

The primary requirement for this lab is that you must use UDP for communications between the client and the server. All client journal entries must be saved to files. I am providing you with a Java class called: the JournalManager, which is designed to read and write journal entries to and from files. You should design your journal server to make use of this JournalManager class.

You should spend some time thinking about how to design this application, with particular focus on the application protocol you will need to develop to support this application. Refer to the Application Protocol Design document provided with this week's material. What can a client request? What replies can the server generate? What errors could occur that a client needs to know about? What information needs to be sent from the client to the server; from the server to the client? What is the maximum message size your client and server will be able to exchange? What is the structure of each message exchanged? How are you going to implement a structured message with a Datagram Packet? (Hint: I would suggest looking at the StringTokenizer class that is designed to break a String into a set of substrings.) What about synchronization? When will the client wait and for how long? When will the server wait and for how long?

Remember, at this point, we are still basically working with a single threaded server, so while the server is servicing one client request, all other client requests are waiting.

For the first part of the lab, I want you to capture the design of your message exchange in a written protocol specification. Be very specific about the structure of messages that will be exchanged. Define what values you are going to use as part of your message exchange. Fully define the message exchange scenarios. For instance, if the client sends message A, the server can respond with message B or C depending on how the server handles A. Include any possible error responses that could come back from the server. The protocol write-up should take no more than two pages. Include an event diagram that illustrates the message exchanges and the synchronization between clients and the server.

Once you have defined your protocol, you can proceed to implementing your program. Demo your program to the professor, get a sign-off, and turn in screen shots of the client and server at work, and print-outs of the source code for both the client and server. Also turn in your written protocol specification.

Reference no: EM13808157

Questions Cloud

Success of any business : A Quality Assurance (QA) Program is essential to the success of any business.In establishing your grocery delivery business, what are some of the Quality Control (QC) processes that you envision employing? Why? Provide examples of potential metric..
Cigarettes cause the pulse rate to increase : Describe the error in the conclusion. Given: There is a linear correlation between the number of cigarettes smoked and the pulse rate. As the number of cigarettes increases the pulse rate increases. Conclusion: Cigarettes cause the pulse rate to incr..
Important role in business success : You begin the meeting, going around the room and asking each staff member for his or her understanding of what logistics means, and how it can play an increasingly important role in business success.
Evaluation and control metrics : Evaluation and control metrics and methodology to measure performance - Contingency planning
Udp programming project journaling application : UDP Programming Project Journaling Application- We have been looking at using Java UDP Sockets to build networked applications. The example provided with this week's lecture demonstrates some of the basic ideas for setting up a networked applicatio..
The optimal order quantity based problems : What expected profit or loss will Jackson earn if it follows the production policy found in part ?
Expected value of the market research information : What is Gorman's optimal decision strategy? What is the expected value of the market research information? What is the efficiency of the information?
Supreme court justices must be approved by the senate : As it stands now, Supreme Court Justices must be approved by the Senate, but not the entire Congress. Why do you think the Framers of the Constitution excluded the entire Congress from this process
Compare and contrast two models of conceptualizing addiction : Compare and contrast two models of conceptualizing addiction

Reviews

Write a Review

Computer Networking Questions & Answers

  Is the web is changing users collectively or individually

Is the Web (and Web multimedia) is changing users collectively or individually in profound or superficial ways? Can we see new cultural values being shaped or sub-cultures being formed which may permanently affect our cultural values?

  Explain possible violations of moral rights and of justice

In your judgment, were possible utilitarian benefits of building Caltex plant in 1977 more significant than possible violations of moral rights and of justice which may be involved?

  A client-server environment

You are the network administrator for a new company that has 10 users and that plans to add 5 more users within a year. The files need to be accessed by all 10 users, and each user must have different security rights. What kind of network would y..

  P, does the congruence x^2 congruent to -1 mod p

1. For what prime numbers, p, does the congruence x^2 congruent to -1 mod p have exactly 2 solutions mod p. Prove it.

  Explaining the approaches to acknowledge packets

In second strategy, packets are not acknowledged individually, but the whole file is acknowledged when it arrives. Explain the two approaches.

  Explain all potential security threats on personal computer

Computer security is not the issue for organizations alone. Anyone whose personal computer is connected to the network or Internet faces the potential risk of attack.

  Part 1 of 1 - 1 question 1 of 16let npq where pq are primes

part 1 of 1 - 1 question 1 of 16let npq where pq are primes of the same length and let phi be eulers totient

  What is the full address of the abbreviated ipv6

Given the following IPv6 addresses in hexadecimal colon notation, answer the following questions. Where applicable leave your answers in fully expanded hexadecimal colon notation.

  Discuss how we use the control panel to configure specific

some commentators have suggested that companies today have not adequately configured computers and network resources

  Write down changes does ftp make to ascii file

Write down changes does FTP make to ASCII file when you download it in ASCII mode to Windows machine from Linux server.

  Identify and briefly explain any four key requirements

An organization called Ranbaxy Inc. has currently 3 divisions in 3 different locations within Sydney city. One of the divisions serves as the company headquarters.

  Analogous steps in dimensioning computer network

Write down the analogous steps in dimensioning a computer network?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd