Ir ao conteúdo
  • Cadastre-se
Leo_Mancini

Desenvolver um projetinho em java

Recommended Posts

ola a todos eu estou com sérios problemas num projeto em Java que necessita usar sockets para conectar e threads.....
Vamos lá eu preciso criar um servidor que tem o compartilhamento de um arquivo texto que permita a leitura e a escrita deste arquivo com as seguintes regras:
- ao receber uma solicitação, o servidor deverá criar uma thread para atende-la
- vários leitores podem acessar ao mesmo tempo o arquivo.
- se um escritor acessar o arquivo ninguém mais pode acessá-lo. Enquanto houver leitura o servidor enfileirará os escritores e, havendo novos leitores, eles devem ser enfileirados depois do escritor.
- se houver solicitações enquanto o arquivo estiver sendo escrito elas devem respeitar uma fila (FIFO).

 

bom ate agora eu tenho isso aqui, de um grande parça, alguém pode me ajudar como devo prosseguir com o mais algo???

 

import java.io.*;

import java.net.ServerSocket;
import java.net.Socket;
 
public class Servidor implements Runnable {
 
    private DataInputStream in;
    private DataOutputStream out;
    private ServerSocket server;
    private Socket cliente;
        
   
    private volatile boolean stopped = false;
 
    @Override
    public void run() {
        try {
            //Cria servidor
            server = new ServerSocket(8080);
            System.out.println("Servidor Criado.");
            while(!stopped){
                if (server != null) {
                    cliente = server.accept();
                    new Thread(new ListenerSocket(cliente)).start();            
                }
            }
        } catch (IOException ex){
            System.out.println("Erro: " + ex.getMessage());
        }
    }
 
    private class ListenerSocket implements Runnable {
       
        public ListenerSocket(Socket cliente) {
            try {
                in = new DataInputStream(cliente.getInputStream());
                System.out.println("IP: " + cliente.getInetAddress().getHostAddress() + " conectou-se!");
 
                System.out.println("Aguardando");
                String acao = in.readUTF();
 
                //Chama Método
                //acaoRequerida(acao);
 
            } catch (IOException ex){
                System.out.println("Erro: " + ex.getMessage());
            }
        }  
 
        @Override
        public void run() {
            //throw new UnsupportedOperationException("Not supported yet.");
            //To change body of generated methods, choose Tools | Templates.
        }        
       
    }
 
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×