quarta-feira, 23 de setembro de 2015

Socket em Java

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