?
Solved

Problem sending a value from a server to a client program (very basic)

Posted on 2004-04-13
4
Medium Priority
?
251 Views
Last Modified: 2011-09-20
I'm trying to send a String from a server program to a client program using writeUTF().

Follow the code below.
It connects to the server but wont read the message for some reason!  It gets to the "here 1" stage and goes no further.

Anyone got any ideas?
Thanks.

Heres my code:

*************************SERVER******************************
import java.net.*;
import java.io.*;
import java.util.*;

public class TestServer
{
      public static void main (String args[]) throws IOException
      {            
            ServerSocket server = new ServerSocket (9835);
            DataOutputStream out;
            Socket client = null;
            
            while (true)
            {
                  client = server.accept ();

                  //send to Client
                  out = new DataOutputStream (new BufferedOutputStream (client.getOutputStream ()));
                  out.writeUTF ("hi");
            }
      }
}

*******************************************************************

*************************CLIENT*************************************
import java.net.*;
import java.io.*;
import java.util.*;

class Test
{
      public static void main(String[] args)
      {
            DataInputStream i;

            try
            {
                  Socket s = new Socket("localhost", 9835);      
                  i = new DataInputStream (new BufferedInputStream (s.getInputStream()));  //create DataInputStream
                  System.out.println("here 1");

                  String number = i.readUTF ();
                  System.out.println("here 2");
                  System.out.println(number);
            } catch (Exception e) {
                  System.out.println(e); }
      }
}
*******************************************************************
0
Comment
Question by:credit
  • 2
4 Comments
 
LVL 7

Accepted Solution

by:
searlas earned 375 total points
ID: 10815668
You have a BufferedOutputStream on your server.  It may not have written the string before you are trying to read it, and so hangs.
Try this:
while (true)
          {
               client = server.accept ();

               //send to Client
               out = new DataOutputStream (new BufferedOutputStream (client.getOutputStream ()));
               out.writeUTF ("hi");
               out.flush();
               out.close();
          }
0
 
LVL 14

Expert Comment

by:Tommy Braas
ID: 10815693
You always have to close() input and output streams when you're done with them, especially when it comes to network programming!
0
 
LVL 7

Expert Comment

by:searlas
ID: 10821552
Yes.  And you should always flush output streams when you have finished sending a chunk of data (i.e. if you send some data, do intensive calculation, send more data... etc.)
0
 

Author Comment

by:credit
ID: 10822135
Got it working.
Thanks alot!
0

Featured Post

Take Control of Web Hosting For Your Clients

As a web developer or IT admin, successfully managing multiple client accounts can be challenging. In this webinar we will look at the tools provided by Media Temple and Plesk to make managing your clients’ hosting easier.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
Suggested Courses
Course of the Month6 days, 10 hours left to enroll

592 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question