A parte mais facil foi tratar de abrir e conectar o cliente e servidor.
Mas eis o que eu estou me batendo:
- DataOutputStream/DataInputStream
- Execucao de comando na shell do unix
Pois bem…Eu venho de C,então eu conheco as funções read e write pra mandar a msg e a system que executa uma string passada como argumento como um comando no shell.
Só que eu não estou entendendo esse negocio de DataStream:é um canal ligado nos dois sockets por onde vc envia a mensagem ou pior ainda,vc tem que criar um pacote (ou colocar os dados em alguma estrutura ligada ao socket da maquina) que se utiliza desse canal pra chegar ate o servidor/cliente?
E quanto à execucao de comando: eu encontrei a classe Runtime com o método exec(),mas mesmo depois de ler a documentacao e procurar exemplos na internet não consigo fazer isso funcionar pq pelo que estava escrito no log,não é possivel referenciar um metodo não-estatico no main.Tá…isso podia ser resolvido tirando-se o ‘static’ da declaracao do main,mas quero saber se tem jeito de fazer deixando a coisa como está.
Fora essas duas coisas,me falta descobrir como vou mandar o resultado do comando executado no servidor para o cliente…
É meio nonsense escolher linguagem nova pra fazer trabalho,mas achei que Java seria mais facil justamente por nao ter aquele bando de flags do C e por ter um metodo para envio de dados urgentes (que eu não faço a menor idéia de como se faz em C)
EDIT:e outras coisas: pela lógica,o servidor tem que executar o listen.Mas não existe listen!A documentacao oficial diz que SocketImpl é a superclasse comum de todas aquelas que implementam sockets.Deduzo que nisso estaria inclusa a classe ServerSocket,mas nem pelo autocompletar do Eclipse e nem escrevendo o nome do método a IDE aceita.
Em C tem uma funcao listen(int descritor_do_socket,int Tamanho_fila) que tem que ser declarada antes do while aceitar as conexões.