Sockets & threads

0 respostas
R

Galera
Estou aprendendo a usar esse duas e maravilhosas ferramentas para a criação de sistemas servidores mais acho que muita coisa para aprender por si só

criei um sisteminha pequeno e eu gostaria que alguem que trabalhe no ramo pude-se avaliar ele , bom la vai ele

Este sistema é dividido em 5 classes; 2 main (o main do server e o outro do client) , 2 threads (um e para os tratamentos de aplicação dos clients e o outro e para cria o thread de tratamento) e o ultimo e um gestor de sockets - ele não eh um extends socket , ele so tem o atributo que e um vetor de sockets estáticos)

os códigos fontes :

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

public class SocketController {

public static Socket[] socket = new Socket[6];
public static ServerSocket serverSocket;


public SocketController() {
}

}

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

public class Process extends Thread {

public Socket socket;
public int numProcess;

public Process(Socket socket,int numProcess) {
    this.socket = socket;
    this.numProcess = numProcess;
}

public void run () {
    try {
        DataInputStream in = new DataInputStream (socket.getInputStream());
        String clientMsg = in.readUTF();
        System.out.println("O Client '" + numProcess + "' Escreveu '" + clientMsg +"';");
    }
    catch (Exception e) {
        
    }
}

}

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

public class BuildProcess extends Thread {

public Socket socket;
public Process process;
public int userNum;

public BuildProcess(Process process,Socket socket,int userNum) {
    this.process = process;
    this.socket = socket;
    this.userNum = userNum;
}

public void run () {
   
    try {
    if (socket.isConnected()) {
        System.out.println(userNum + " Conexões Obtidas");
        System.out.println("Criando o Thread " + userNum);
        process = new Process(socket,userNum);
        process.start();
        //Thread.sleep(5000);*/ <- isso eu usei para simular um             
        //tratamento de conexão congestionado
    }
    else {
        System.out.println("A Tentativa de Conexão nº" + userNum + " Falhou");
            
    }
    }
    catch (NullPointerException e) {
        System.out.println(e.getMessage());
    } 
}

}

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

public class Main {

public static Process process[] = new Process[6];
public static SocketController socketController = new SocketController();
public Main() {
}

public static void main (String args[]) {
    try {
        socketController.serverSocket = new ServerSocket(999,5);
    }
    catch (Exception e) {
        
    }
    int userNum = 0;
    while (userNum < 5) {
        userNum++;
        try {
            socketController.socket[userNum] = socketController.serverSocket.accept();
            new BuildProcess (process[userNum],socketController.socket[userNum],userNum).start();           
        }
        catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}

}

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

public class Client {

public Client() {
}

public static void main (String args[]) {
    try {
        Socket socket = new Socket("localhost",999);
        System.out.println(socket.getLocalPort());
        Thread.sleep(5000);
        if (socket.isConnected()) {
            DataOutputStream out = new DataOutputStream(socket.getOutputStream());
            out.writeUTF("Essa Mensagem Veio do Client");
        }
        else {
            System.out.println("A conexão não foi realizada");
        }
    }
    catch (Exception e) {
        System.out.println(e.getMessage());
    }
}

}

Bom esse foi o sistema que eu elaborei , agora eu pesso a opinião de vocês tanto pra ajudar,criticar,elogiar na verdade venho a procura de um caminho , se eu já estou no caminho certo e continue ou se preciso ainda aprender algo e se isso , onde encontrar esses enssinamentos , em fim quero converça sobre esse assunto.

qulaquer coisa - [email removido] -
=b

Criado 28 de novembro de 2006
Respostas 0
Participantes 1