elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Socket, flujo de texto sin interrupciones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Socket, flujo de texto sin interrupciones  (Leído 2,085 veces)
Kerber0

Desconectado Desconectado

Mensajes: 142

Yo me Amo!


Ver Perfil
Socket, flujo de texto sin interrupciones
« en: 5 Diciembre 2008, 00:32 am »

Buenas gente, el socket que hice unicamente tiene que hablar el cliente, luego el servidor, luego el cliente, luego el servidor.. no puedo lograr que cada uno lo haga cuando quieras

Servidor
Código:
import java.net.*;
import java.io.*;

public class Servidor
 {
 InputStreamReader isr;
 OutputStreamWriter osw;
 String linea;
 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 String msg=null;


public Servidor()
 {
  try
   {
     System.out.println("Creando servidor puerto 555...");
     ServerSocket servidor = new ServerSocket(555);
     System.out.println("Esperando llamadas...");
     Socket s = servidor.accept();
     System.out.println("Cliente se ha conectado!");

     while(true)
{
isr = new InputStreamReader(s.getInputStream());
osw = new OutputStreamWriter(s.getOutputStream());

char[] mensaje = new char[256];
isr.read(mensaje,0,255);

String msg = new String(mensaje).trim();
System.out.println("Cliente dijo: "+msg);


if (msg.compareTo("end")==0)
  {
   System.out.println("Cliente ha cerrado la conexion, el programa se cerrara");
   isr.close();
       osw.close();
   servidor.close();
   break;
  }


System.out.println("Ingrese texto:");
linea=br.readLine();
osw.write(linea);
osw.flush();
System.out.println("Esperando respuesta del cliente...");

}

  }
 catch(IOException ex)
  {
   System.out.println("Error");
  }
 }


public static void main(String arg[])
 {
new Servidor();
 }

}

El codigo del cliente es muy parecido. Existe alguna forma en la que el Servidor y el Cliente puedan interactuar sin necesidad de esperar una respuesta del otro?

Muchas gracias!


En línea

juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: Socket, flujo de texto sin interrupciones
« Respuesta #1 en: 5 Diciembre 2008, 03:12 am »

Una opcion seria usar Threads ejecutandose en paralelo. Uno se mantendria a la espera de datos, y el otro a la espera de instrucciones del programa local (este ultimo es por el que enviarias la informacion).


En línea

Kerber0

Desconectado Desconectado

Mensajes: 142

Yo me Amo!


Ver Perfil
Re: Socket, flujo de texto sin interrupciones
« Respuesta #2 en: 5 Diciembre 2008, 05:49 am »

Gracias voy a profundizar por ahi!

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines