Create a basic client server application that combines GWT's RPC with a back end client-server setup to facilitate interprocess communication. Running in the background is a TCP/IP server. This server holds a value (initially 0). When the browser sends a string (must be numeric for this to work; easily convertible to just strings), the server sends the value it has, and then replaces it with the value that was sent. In short, the server responds to each access with the value sent by the previous client. This program is based on GWT's GreetingService, the example that is created by webAppCreator. The following changes were made (hope I didn't miss anything): I made a minor change in FieldVerifier.java in the Shared directory, just so we can look at it. Create copies of the GreetingService files. ClientComServiceImpl required the most work, as this file interacted with the TCP/IP server. Add the members for the socket and its streams. Eliminate the return statement and replace it with a call to setupSocket() and add code to send the string, receive the response, and return it. ClientComServiceAsync: Change the class name to match. call the method in the Impl file ClientComServiceImpl in the server, clientServer(). In ClientComService, created as a copy of GreetingService: Change the relative path on Line 9. I used "client". This MUST be matched in web.xml's servlet-mapping tag group. web.xml must be updated. I changed greetingServlet in both tag groups to clientServlet. You can actually name the servlet anything you like, as long as both servlet-names are the same. The servlet-class must be the name of the servlet in the \war\WEB-INF\classes\com\server directory. The url-pattern has greet replaced by client. This matches the setting of the relative path in ClientComService.java In main Java file: Change Line 35 to create the correct service class. Change Line 121 to call the clientServer function in the Impl Java file.