Olá, estou aprendendo a trabalhar com socket agora e preciso fazer um chat simples, mas eu não sei como fazer o chat continuar, por enquanto está assim:
Servidor
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package servidorTCP;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class ServidorTCP {
public static void main(String[]args){
Socket clientSocket = null;
try{
int serverPort = 8000;
ServerSocket listenSocket = new ServerSocket(serverPort);
clientSocket = listenSocket.accept();
DataInputStream in = new DataInputStream(clientSocket.getInputStream());
DataOutputStream o = new DataOutputStream(clientSocket.getOutputStream());
String data = in.readUTF();
o.writeUTF("Servidor responde " + data);
}catch(IOException e){
System.out.println("Sock: "+e.getMessage());
}
}
}
Cliente
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package clienteTCP;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
/**
*
* @author pauloeduardo
*/
public class ClienteTCP {
public static void main(String[]args){
Scanner entrada = new Scanner(System.in);
Socket s = null;
try{
int serverPort = 8000;
String ip = "111.111.1.1";
s = new Socket(ip,serverPort);
DataInputStream in = new DataInputStream(s.getInputStream());
DataOutputStream o = new DataOutputStream(s.getOutputStream());
System.out.println("DIGITE SEU TEXTO: ");
System.out.println();
o.writeUTF(entrada.nextLine());
String data = in.readUTF();
System.out.println("RECEBIDO:\n"+data);
} catch (UnknownHostException e) {
System.out.println("Sock:" + e.getMessage());
}catch(IOException ex){
System.out.println("Sock:" + ex.getMessage());
}
}
}
Se alguém puder me dar uma luz, obrigado!