Hi, ok heres what i am trying to do. I am trying to introduce an array of strings in the Server program to store up to 10 messages, which i think ive got done. If the array is full it should display a full buffer message. Then when the user types in 'READ' it should empty the mail box and display all the messages recieved from the server.

The problem i am having is i cannot get the read to work, im kind of new to java. Any one any ideas? Heres the code:-

//Server class
import java.io.*; 
import java.net.*; 



class TCPPacketServer { 

  public static void main(String argv[]) throws Exception 
          
  { 
      String clientSentence; 
      String capitalizedSentence; 
      Packet  packet;

     System.out.println("Opening port...\n");
      ServerSocket welcomeSocket = new ServerSocket(1025); 
  
       int i=0; String [] Message = new String [10];
       
            Socket connectionSocket = welcomeSocket.accept(); 

	   
           ObjectOutputStream outToClient = new ObjectOutputStream(connectionSocket.getOutputStream());
           ObjectInputStream inFromClient =  new ObjectInputStream(connectionSocket.getInputStream());

try{

     
       //clientSentence 
  while(( packet  = (Packet)inFromClient.readObject())!=null) { 

	 
 
          int x = packet.getSerialNo();
          
	  Integer myx = new Integer(x);
          String str = myx.toString();
           System.out.println("Recieving From Client Packet's serialNo#" + str +" \n and packet's Data is " + packet.getData());
           outToClient.writeObject(str); 
        
       if (i >=10) {
           System.out.println("Full Buffer");
           
       }
       
       else 
       {
           Message[i] = packet.getData();
           i++;
       }
                   
            if (packet.getData().equals("READ"))
            {
		outToClient.writeObject(Message);
               for ( int a=0; a<10; i++)
               {
                    Message[a] ="";
               }
            }
       
           if (packet.getData().equals("CLOSE"))
               break;
  }
           
        
} catch(IOException e)
  {} 
        connectionSocket.close();
    } 
}

//Client
import java.io.*; 
import java.net.*; 
class TCPPacketClient { 

    public static void main(String argv[]) throws Exception 
    { 
        String sentence; 
        String modifiedSentence; 
        int i=1;
        String str="";
	 
        Socket clientSocket = new Socket("LUKESTIRK",1025); 

	
        ObjectInputStream inFromServer = new ObjectInputStream(clientSocket.getInputStream());
        ObjectOutputStream outToServer = new ObjectOutputStream(clientSocket.getOutputStream());

try{

  do  {
 
       System.out.print("Hello Welcome to the Local Server: \n");
        
       BufferedReader br= new BufferedReader( new InputStreamReader(System.in));
    
  str =(String)br.readLine();
       
        Packet  myPacket = new Packet(i,str);
        
        outToServer.writeObject(myPacket);
        sentence = (String)inFromServer.readObject(); 

        System.out.println("FROM SERVER: Packet SerialNo#" + sentence+" is recieved"); 
      i++;
  
        } while(!str.equals("CLOSE"));      
  } catch(IOException e)
  {} 
        clientSocket.close();    
    } 
} 

//Packet

import java.io.*;

public class Packet implements Serializable{

private int serialNo;
private String data;

  public Packet(int serialNo, String data) {

  this.serialNo = serialNo;
  this.data     = data;
  }
 
  public String getData() {
 
  return data;
  }

  public int getSerialNo() {

  return serialNo;
  }

}

1) use codetags
2) don't even try network programming until you know the language well.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.