Write a client and server, Java Swing application using socket connections that allows the client to specify a filename to the server in a Textfield and the server send the contents of the text file back to the client if it exists. If the file does not exist, then it should send back an appropriate error message instead. Submit your zipped NetBeans project with all files, essay, and screenshots demonstrating your code runs. In both the Client and the Server a JTextArea must reflect the messages sent and received in both the client and the server in order to give the user feedback.