Server receber mensagem de cliente via Socket

3 respostas
G

pessoal, to tentando mexer com sockets aqui, ai fiz uns exemplos da net pra ver se pegava, mas alterei um exemplo aqui e n ta rolando tipo

é assim, o cliente se conecta ao servidor e recebe uma msg q o memso colocou no Buffer, ate ai beleza

oque eu n consigo fazer é o servidor recer uma msg do cliente =//

sera que alguewm pode me ajudar?

vou postar os codigos

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

public class DicaServer {

	String conselho = "teste";
	
	public void go()
	{
		try
		{
			ServerSocket sock = new ServerSocket(5000);
			
			while(true)
			{
				Socket s = sock.accept();
				PrintWriter conselheiro = new PrintWriter(s.getOutputStream());
				InputStreamReader leitor = new InputStreamReader(s.getInputStream());
				BufferedReader reader = new BufferedReader(leitor);
				String conselho2 = reader.readLine();
				conselheiro.println(conselho);
				System.out.println(conselho);
				System.out.println(conselho2);
				conselheiro.close();
				
			} 
		}catch(IOException ex)
			{
				ex.printStackTrace();
			}
			
		}
	
	
	public static void main(String[] args)
	{
		DicaServer d = new DicaServer();
		d.go();
	}

}
public class DicaCliente {

	public void go()
	{
		try
		{
			Socket s = new Socket("192.168.1.3", 5000);
			
			InputStreamReader leitor = new InputStreamReader(s.getInputStream());
			BufferedReader reader = new BufferedReader(leitor);
			String conselho = reader.readLine();
			PrintWriter write = new PrintWriter(s.getOutputStream());
			write.println("teste222222");
			JOptionPane.showMessageDialog(null,conselho);
			System.out.println("Conectado a: " + s.getLocalAddress() + " Pela porta: " + s.getPort());
			reader.close();
		} catch(IOException ex)
		{
			ex.printStackTrace();
		}
	}
	
	public static void main(String[] args) 
	{
		DicaCliente dica = new DicaCliente();
		dica.go();
	}



}

3 Respostas

T

eu alterei algumas coisas!!!

aqui funcionou!!!

Servidor:
import java.io.*;
import java.net.*;

public class DicaServer {

   String conselho = "teste";  
   
   public void go()
   {
      try
      {
         ServerSocket sock = new ServerSocket(5000);
         
         while(true)
         {
            Socket s = sock.accept();
        
            BufferedReader entrada = new BufferedReader(new InputStreamReader(s.getInputStream()));
            PrintWriter saida = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));         
            
            String conselho2 = entrada.readLine();            
            saida.println(conselho);
            saida.flush();
            System.out.println(conselho);
            System.out.println(conselho2);
            entrada.close();
            saida.close(); 
            s.close();
         }
      }catch(IOException ex)
         {
            ex.printStackTrace();
         }
         
      }
   
   
   public static void main(String[] args)
   {
      DicaServer d = new DicaServer();
      d.go();
   }

}

Cliente:

import java.net.*;
import java.io.*;
import javax.swing.*;
public class DicaCliente {

   public void go()
   {
      try
      {
         Socket s = new Socket("localhost", 5000);
         
         BufferedReader entrada = new BufferedReader(new InputStreamReader(s.getInputStream()));
         PrintWriter saida = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));                       
         saida.println("teste222222");
         saida.flush();
         String conselho = entrada.readLine();         
         JOptionPane.showMessageDialog(null,conselho);
         System.out.println("Conectado a: " + s.getLocalAddress() + " Pela porta: " + s.getPort());
         entrada.close();
         saida.close();
         s.close();
      } catch(IOException ex)
      {
         ex.printStackTrace();
      }
   }
   
   public static void main(String[] args)
   {
      DicaCliente dica = new DicaCliente();
      dica.go();
   }
}

um abraço
Silvano

"Galaciel":
pessoal, to tentando mexer com sockets aqui, ai fiz uns exemplos da net pra ver se pegava, mas alterei um exemplo aqui e n ta rolando tipo

é assim, o cliente se conecta ao servidor e recebe uma msg q o memso colocou no Buffer, ate ai beleza

oque eu n consigo fazer é o servidor recer uma msg do cliente =//

sera que alguewm pode me ajudar?

vou postar os codigos

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

public class DicaServer {

	String conselho = "teste";
	
	public void go()
	{
		try
		{
			ServerSocket sock = new ServerSocket(5000);
			
			while(true)
			{
				Socket s = sock.accept();
				PrintWriter conselheiro = new PrintWriter(s.getOutputStream());
				InputStreamReader leitor = new InputStreamReader(s.getInputStream());
				BufferedReader reader = new BufferedReader(leitor);
				String conselho2 = reader.readLine();
				conselheiro.println(conselho);
				System.out.println(conselho);
				System.out.println(conselho2);
				conselheiro.close();
				
			} 
		}catch(IOException ex)
			{
				ex.printStackTrace();
			}
			
		}
	
	
	public static void main(String[] args)
	{
		DicaServer d = new DicaServer();
		d.go();
	}

}
public class DicaCliente {

	public void go()
	{
		try
		{
			Socket s = new Socket("192.168.1.3", 5000);
			
			InputStreamReader leitor = new InputStreamReader(s.getInputStream());
			BufferedReader reader = new BufferedReader(leitor);
			String conselho = reader.readLine();
			PrintWriter write = new PrintWriter(s.getOutputStream());
			write.println("teste222222");
			JOptionPane.showMessageDialog(null,conselho);
			System.out.println("Conectado a: " + s.getLocalAddress() + " Pela porta: " + s.getPort());
			reader.close();
		} catch(IOException ex)
		{
			ex.printStackTrace();
		}
	}
	
	public static void main(String[] args) 
	{
		DicaCliente dica = new DicaCliente();
		dica.go();
	}



}
G

muito obrigado cara, era isso mesmo, vlw mesmo =))))
[]´s

G

Desculpe ressuscitar esta tópico velho. Fiquei com receiro de abrir um tópico novo e ouvir que não pesquisei. Estou ursando um código praticamente igual a este. Ele funciona e imprime corretamente no console. Eu não estou conseguindo capturar o texto recebido pelo servidor e passar para um JOptionPane.showMessageDialog.
Sempre fica vazio. Alguma dica.

Criado 15 de setembro de 2006
Ultima resposta 26 de jun. de 2015
Respostas 3
Participantes 3