Pessoal,

Estou fazendo uma conexão entre cliente/servidor para enviar mensagem ou arquivo em 
ambos os sentidos. Alguém sabe me dizer onde estou errando?

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;

public class ServerS extends Thread{
   String Smsg;
   String msg;
   String inmsg;

   private ServerSocket serverSocket;


public ServerS(){

        super("Servidor");
        try{
            serverSocket = new ServerSocket(6789);
            System.out.println("Criei um Servidor...");

        }
        catch(IOException e){
            System.err.println("Exception: couldn't create socket");
            System.exit(1);
        }
}

 public static void main (String args[ ] ) {

        ServerS srv;
        srv = new ServerS();
        srv.start();

    }
 public void run(){

        Socket clientSocket = null;

        while (true){

            if (serverSocket == null)
                  return;
              try{
                     clientSocket = serverSocket.accept();

                 }
                   catch(IOException e){

                       System.err.println("Exception: couldn't connect to client 
socket");
                       System.exit(1);
               }


               // Recebe a mensagem via Socket do cliente

            PrintWriter os;

            try{
                InputStreamReader inr = new 
InputStreamReader(clientSocket.getInputStream());
                BufferedReader in = new BufferedReader(inr);
                os = new PrintWriter(clientSocket.getOutputStream(),true);
                while (  (inmsg = in.readLine( )) != null )
                    {

                //Imprime a mensagem localmente
                  System.out.println(inmsg);

                    }

                } catch (IOException e) { System.err.println(e.toString( ));}

   // }

                        System.out.println("Entre com uma mensagem......");

             try {
                         //Recebendo a mensagem via teclado a ser enviada ao Cliente


                         DataInputStream msg;
                         msg = new DataInputStream(System.in);
                     Smsg = msg.readLine();
                    }catch (IOException i) {
                           System.out.println("Erro !");
                           }

                 //Enviando a mensagem ao cliente...

                try {

                         PrintStream ps = new 
PrintStream(clientSocket.getOutputStream());
                         ps.println(Smsg);

                    }
                catch (IOException e)
                  {
                     System.out.println("Error: " + e);
                  }
       }

     }
  }



// Cliente

import java.io.*;
import java.net.*;


class Cliente {
   String msg;
   private ServerSocket serverSocket;
   String line;
   static String Omsg;


public static void main (String args[ ] ) {

        Cliente cli;
        cli = new Cliente();

        DataInputStream lemsg;
        DataInputStream asg;
        //DataInputStream msg;

        lemsg = new DataInputStream(System.in);

        // Abre o Socket

try{
            Socket s = new Socket("Localhost",6789);



 // Escolhe a opção de digitar a mensagem ou ler um arquivo

    System.out.println("Digite mm para mensagem ou aa para arquivo....");

    try {
                        DataInputStream msg;
                        asg = new DataInputStream(System.in);
                        cli.Omsg = asg.readLine();

                 }catch (IOException i) {
                             System.out.println("Erro !");

             }

         //Caso a opção seja digitar a mensagem......
    String str1 = "mm";
    if (Omsg.equals (str1))
    {

    System.out.println("Entre com uma mensagem....");

    try {
                                 DataInputStream msg;
                                 msg = new DataInputStream(System.in);
                             cli.msg = lemsg.readLine();
            }catch (IOException i) {
                           System.out.println("Erro !");
             }



    // Enviando a mensagem ao Servidor...

                        try {

                                        //Socket s = new Socket("Localhost",6789);
                                        PrintStream out;
                                        out = new PrintStream(s.getOutputStream( ));
                                        out.println(cli.msg);
                            }
                        catch (IOException e)
                          {
                             System.out.println("Error: " + e);
                      }
   }
    // Caso a opção seja ler um arquivo......

    String str2 = "aa";
    if (Omsg.equals (str2))
        {

        try {

         // Socket s = new Socket("Localhost",6789);

          PrintStream out;
          out = new PrintStream(s.getOutputStream( ));
              //out.println(cli.line);
          //System.out.println(cli.line);

          FileReader file = new
              FileReader("porra.txt");
              BufferedReader buff = new
              BufferedReader(file);
              boolean eof = false;
          String teste="";
              while (!eof)
              {

                          cli.line = buff.readLine();
              out.println(cli.line);

                      if (cli.line == null)
                          eof = true;


                      //else
                              //System.out.println(cli.line); Para imprimir o mesmo 
arquivo localmente

               }
               buff.close();

         //s.close( );
         }catch (IOException i) {
         System.err.println (i.toString( ));
         }
         }


         //Recebe a mensagem do Servidor


                     System.out.println("Resp:");
                     DataInputStream dis = new DataInputStream(s.getInputStream());
                     String msg = dis.readLine();
                     System.out.println(msg);


                }
                        catch(IOException e){
                            System.err.println("Exception: couldn't create socket");
                            System.exit(1);
                        }

    }

}




------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a