"Uma caminhada de mil léguas começa com o primeiro passo", diz o filosofo... "int main(){", diz o programador.
quarta-feira, 7 de agosto de 2013
Java Client-Server
O modelo cliente-servidor, em computação, é uma estrutura de aplicação distribuída que distribui as tarefas e cargas de trabalho entre os fornecedores de um recurso ou serviço, designados como servidores, e os requerentes dos serviços, designados como clientes.
A aplicação client server e relizada através de portas Sockets, ela é composta como uma aplicação comum de I/O de quatro partes: open, read, write e close.
Aplicação cliente:
import java.net.*;
import java.io.*;
import java.lang.*;
public class client{
DataInputStream i1;
DataInputStream cinput;
PrintStream coutput;
Socket clisoc;
public client(){
try{
clisoc = new Socket("127.0.0.1",4321);
cinput = new DataInputStream(clisoc.getInputStream());
coutput= new PrintStream(clisoc.getOutputStream());
i1 = new DataInputStream(System.in);
while(true){
System.out.print("Entre com uma palavra: ");
String str = i1.readLine();
coutput.println(str);
String str2 = cinput.readLine();
System.out.println("Recebido do servidor: "+str2);
if (str.equals("BYE")){
System.out.println("Disconectado: "+
clisoc.getInetAddress()+":"+clisoc.getPort());
clisoc.close();
System.exit(0);
}
}
}
catch(Exception e){
System.err.print(e);
System.exit(1);
}
}
public static void main(String args[]){
new client();
}
}
Aplicação servidora:
import java.net.*;
import java.io.*;
import java.lang.*;
public class server{
ConexBasica cb;
public server(int port){
System.out.println("Server listening in port: "+port);
cb= new ConexBasica(port);cb.start();
}
public static void main(String args[]){
new server(4321);}
}
class ConexBasica extends Thread{
int pt;
ServerSocket ssocket;Conexsec csec;
public ConexBasica(int port){
pt = port;
}
public void run(){
try{
ssocket = new ServerSocket(pt); }
catch(Exception e){
System.err.println(e);
System.exit(1);}
while (true){
try{
Socket clisocket = ssocket.accept();
csec = new Conexsec(clisocket);
csec.start();}
catch(Exception e){} }
}
}
class Conexsec extends Thread{
Socket csk;
PrintStream soutput;DataInputStream sinput;
public Conexsec(Socket s){
csk = s;
}
public void run(){
System.out.println("Criada conexcao: "+csk.getInetAddress()+":"+csk.getPort());
try{
soutput = new PrintStream(csk.getOutputStream());
sinput = new DataInputStream(csk.getInputStream());
while(true){
String str = sinput.readLine();
soutput.println("Eco do servidor: "+str);
System.out.println(str);
if (str.equals("BYE")){
csk.close();
System.out.println("Disconectado: "+csk.getInetAddress()+":"+csk.getPort()+". Listening...");
stop();
}
}
}
catch(Exception e){
System.err.println(e);
}
}
}
Assinar:
Postar comentários (Atom)

Nenhum comentário:
Postar um comentário