Abaixo duas classes em Java para conexão de socket entre servidor e cliente. As classes são resultado das aulas de Sistemas Operacionais do prof Alessandro Brawerman. Na época em que pesquisei a respeito não encontrei nada tão simples e tão didático. Quando falamos em socket geralemente é acompanhado de estruturas complexas, mas abaixo as classes são simples. Deve ser configurada apenas a porta e o ip das máquinas.
import java.io.*;
import java.net.*;
import javax.swing.GroupLayout. ParallelGroup;
public class servidor {
public static void main(String args[]) throws IOException {
int porta = 10000;
Socket sock = null;
int porta2 = 10000;
String IP = "172.23.96.200";
BufferedReader teclado;
ServerSocket ss = new ServerSocket(porta2);
sock = ss.accept();
DataInputStream in = new DataInputStream(sock. getInputStream());
DataOutputStream out = new DataOutputStream(sock. getOutputStream());
//primeira msg do servidor
while (true) {
teclado = new BufferedReader(new InputStreamReader(System.in));
String texto = teclado.readLine();
out.writeUTF(texto);
System.out.println(in.readUTF( ));
if(texto.equals("terminar")){
break;
}
}
in.close();
out.close();
sock.close();
}
}
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class cliente {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
int porta = 12345;
String IP="172.23.96.73";
BufferedReader teclado;
Socket sock = new Socket(IP,porta);
DataInputStream in = new DataInputStream(sock. getInputStream());
DataOutputStream out = new DataOutputStream(sock. getOutputStream());
System.out.println(in.readUTF( ));
teclado = new BufferedReader(new InputStreamReader(System.in));
String texto = teclado.readLine();
out.writeUTF(texto);
if (texto.equals("terminar")) {
in.close();
out.close();
sock.close();
}
}
}
Nenhum comentário:
Postar um comentário