comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO] Chat Problemas con los Stream.

  • 1 Respuestas
  • 1003 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado algorf

  • *
  • Underc0der
  • Mensajes: 12
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Febrero 26, 2014, 06:34:15 pm »
Como va la gente del foro, Desde ya un saludo para todos.
Vengo de beraza a manguearles una manito. Estoy programando un chat, como se puede leer, y estoy medio trabado, en un par de cuestiones. que creo que son de concepto, o inexperiencia.

Bueno les comento, hasta ahora hice el servidor y el cliente, a lo que quiero llegar es a conectar varios clientes al servidor y que se comuniquen entre ellos por medio del servidor algo muy complicado para mi al menos, hay algunos conceptos que no los tengo bien en claro por eso venia a pedirles una mano, no que me lo programen y me lo manden sino que me explique algunas dudas. Ya que copiarlo no me sirve.

todavia me faltan programar partes. la de  cerrar conexciones. y la de envios de datos del servidor a todos los usuarios conectados. no comprendo como hacer eso.. creo que tengo que usar hilos y cada hilo generado en el servidor.. para cada socket conectado..  y cada hilo guardarlo en una matriz.. para saber a donde enviarlo..  creo que tengo que ir por ese paso..

CLIENTE
Código: Java
  1. import java.io.*;
  2. import java.net.*;
  3. import java.util.Scanner;
  4.  
  5. public class meloCliente {
  6.  
  7.     No tienes permisos para ver links. Registrate o Entra con tu cuenta ip = "127.0.0.1",usuario, mensajeDis, mensajeDos;
  8.     int port = 6666;
  9.     No tienes permisos para ver links. Registrate o Entra con tu cuenta tcp;
  10.     Scanner sc;
  11.     boolean flag =true;
  12.  
  13.    
  14.     public void llamEsqueletor() {
  15.        
  16.     }
  17.    
  18.     public void closePort() {
  19.        
  20.     }
  21.     public void getDatain() throws No tienes permisos para ver links. Registrate o Entra con tu cuenta{
  22.             No tienes permisos para ver links. Registrate o Entra con tu cuenta dis = new No tienes permisos para ver links. Registrate o Entra con tu cuenta(tcp.getInputStream());
  23.             mensajeDis = dis.readUTF();
  24.             No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("Msj << "+ mensajeDis);
  25.            
  26.     }
  27.     public void setDataOutPack() throws No tienes permisos para ver links. Registrate o Entra con tu cuenta {
  28.         No tienes permisos para ver links. Registrate o Entra con tu cuenta dos = new No tienes permisos para ver links. Registrate o Entra con tu cuenta(tcp.getOutputStream());
  29.         No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.print(" >> ");
  30.         mensajeDos = this.crateMsj();
  31.         No tienes permisos para ver links. Registrate o Entra con tu cuenta packet = this.usuario + "-" + mensajeDos;
  32.         dos.writeUTF(packet);
  33.         // falta enviarlo...
  34.        
  35.     }
  36.     public No tienes permisos para ver links. Registrate o Entra con tu cuenta crateMsj(){
  37.         sc = new Scanner(No tienes permisos para ver links. Registrate o Entra con tu cuenta.in);
  38.         No tienes permisos para ver links. Registrate o Entra con tu cuenta teclado = sc.nextLine();    
  39.         return teclado;
  40.     }
  41.  
  42.     public void openConex() throws No tienes permisos para ver links. Registrate o Entra con tu cuenta, No tienes permisos para ver links. Registrate o Entra con tu cuenta{
  43.         tcp = new No tienes permisos para ver links. Registrate o Entra con tu cuenta(ip, port);
  44.         if(tcp.isConnected()){No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("Cliente <<"+ usuario +">> conectado al Servidor.");}
  45.     }
  46.     public static void main(No tienes permisos para ver links. Registrate o Entra con tu cuenta[] args) throws No tienes permisos para ver links. Registrate o Entra con tu cuenta, No tienes permisos para ver links. Registrate o Entra con tu cuenta{
  47.         meloCliente mC = new meloCliente();
  48.        
  49.         mC.LeyendaUsr();
  50.         mC.openConex();
  51.        
  52.         while(mC.flag){
  53.             mC.setDataOutPack();
  54.         }
  55.        
  56.     }
  57.     public void LeyendaUsr() {
  58.         sc = new Scanner(No tienes permisos para ver links. Registrate o Entra con tu cuenta.in);
  59.  
  60.         No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("        ·~ Cliente Mensajeria. v0.1 "+ "\n");
  61.         No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("# Apodo de red: \n");
  62.         usuario = sc.nextLine();
  63.     }
  64. }
  65.  

SERVIDOR

Código: Java
  1. import java.net.*;
  2. import java.io.*;
  3. import javax.swing.JOptionPane;
  4. import java.util.Scanner;
  5.  
  6. public class Serv{
  7.    
  8.     No tienes permisos para ver links. Registrate o Entra con tu cuenta ss;
  9.     No tienes permisos para ver links. Registrate o Entra con tu cuenta s ;
  10.     No tienes permisos para ver links. Registrate o Entra con tu cuenta panelDat;
  11.     boolean flag = true;
  12.     Scanner sc;
  13.     int cont =0;
  14.            
  15.     public void openPort() throws No tienes permisos para ver links. Registrate o Entra con tu cuenta{
  16.         No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("# Abriendo puertos.");
  17.         ss = new No tienes permisos para ver links. Registrate o Entra con tu cuenta(6666);
  18.     }
  19.     public void aceptCli() throws No tienes permisos para ver links. Registrate o Entra con tu cuenta{
  20.             No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("# Esperando solicitud de cliente...");
  21.             s = ss.accept();
  22.             cont++;
  23.             No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("# Cliente conectado. Datos." + s.getInetAddress()+"-"+ s.getPort()+ " Cliente Nro:" + cont);
  24.     }
  25.     public void sendPack() throws No tienes permisos para ver links. Registrate o Entra con tu cuenta{
  26.         No tienes permisos para ver links. Registrate o Entra con tu cuenta dos = new No tienes permisos para ver links. Registrate o Entra con tu cuenta(s.getOutputStream());
  27.     }    
  28.    
  29.     public void getDatain() throws No tienes permisos para ver links. Registrate o Entra con tu cuenta{
  30.         No tienes permisos para ver links. Registrate o Entra con tu cuenta dis = new No tienes permisos para ver links. Registrate o Entra con tu cuenta(s.getInputStream());
  31.         No tienes permisos para ver links. Registrate o Entra con tu cuenta mensajeDis = dis.readUTF();
  32.         No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println(mensajeDis);
  33.        
  34.     }
  35.     public void closePort() {
  36.        
  37.     }
  38.     public static void main(No tienes permisos para ver links. Registrate o Entra con tu cuenta[] args)throws No tienes permisos para ver links. Registrate o Entra con tu cuenta {
  39.         Serv sev = new Serv();
  40.         sev.leyenda();
  41.         sev.openPort();
  42.        
  43.         sev.aceptCli();
  44.         while(sev.flag){
  45.         sev.getDatain();
  46.         }
  47.        
  48.         No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("·~ Servidor");
  49.     }
  50.         public void leyenda() {
  51.         No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("      ·~ Servidor Mensajeria v0.1." + "\n");
  52.  
  53.     }
  54. }
  55.  

Espero puedan ayudarme.
Desde ya un saludo grande. y seguiré investigando.
« Última modificación: Julio 02, 2014, 05:40:46 am por blackdrake »

Desconectado algorf

  • *
  • Underc0der
  • Mensajes: 12
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #1 en: Febrero 27, 2014, 10:46:54 pm »
bueno como veo que no pasa nada trate de continuarlo.. modifique el codigo.. agregandole una clase mas al package del servidor.. para hacer un hilo para cada conexcion. pero creo q no lo estoy aplicando bien.. voy a seguir leyendo de hilos.. y vectores.. sinome equivoco deberia usar vectores para guardar objetos.. q serian las conexciones..

aca dejo el codigo espero me puedan ayudar me salta un error.. :S

Código: Java
  1. package meloServ;
  2.  
  3. /**
  4.  *
  5.  * @author Chilon
  6.  */
  7. import java.io.*;
  8. import java.util.Scanner;
  9. import java.net.Socket;
  10.  
  11. public class Conexcciones extends No tienes permisos para ver links. Registrate o Entra con tu cuenta {
  12.    
  13.     Serv ss = new Serv() ;
  14.     No tienes permisos para ver links. Registrate o Entra con tu cuenta s = new No tienes permisos para ver links. Registrate o Entra con tu cuenta();
  15.    
  16.     public Conexcciones() throws No tienes permisos para ver links. Registrate o Entra con tu cuenta{
  17.             No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("# Esperando solicitud de cliente...");
  18.             s = ss.ss.accept();
  19.             No tienes permisos para ver links. Registrate o Entra con tu cuenta.out.println("# Cliente conectado. Datos." + s.getInetAddress()+"-"+ s.getPort());
  20.     }
  21.    
  22. }
  23.  

el servidor solo se modifica el  aceptarcliente que lo puse asi

Código: Java
  1.     public void aceptCli()throws No tienes permisos para ver links. Registrate o Entra con tu cuenta{
  2.  
  3.             Conexcciones con =new Conexcciones();
  4.             con.run();
  5.        
  6.     }

pero me da un error.. :S cuando llega al aceptar cliente del hilo conexciones.. :S

Exception in thread "main" java.lang.NullPointerException
   at meloServ.Conexcciones.<init>(Conexcciones.java:24)
   at meloServ.Serv.aceptCli(Serv.java:34)
   at meloServ.Serv.main(Serv.java:55)
Java Result: 1

espero me puedan ayudar un saludo grande !

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 7624
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 2228
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 1641
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 3001
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Problem al instalar Windows "cualquier windows"

Iniciado por Made

Respuestas: 7
Vistas: 3029
Último mensaje Septiembre 03, 2012, 04:53:08 pm
por Made