You are here

Relatório 1 - Introdução

Atividade 1: Contato com o Web-site da disciplina

Nessa atividade fomos apresentados ao sítio da disciplina.

Atividade 2: Uso e Gerenciamento da Página de Relatórios

Nessa atividade, recebemos um login e uma senha para acesso ao sítio.

Utilizaremos a ferramenta Drupal para criação de páginas.

Atividade 3: Download e Compilação do Código do WorldServer3D

Foi compilado o código fonte do World Server 3D e está disponível aqui.

Atividade 4: Geração de um Controlador Manual para o Ambiente Virtual

Links do código fonte e da ferramenta compilada:

World Server 3D Client (código fonte)

World Server 3D Client (JNLP)

Screenshot da aplicação: para usá-la, digita-se o servidor e a porta do World Server 3D, clique em connect e insira os comandos no text box.

World Server 3D Client

Código fonte: WorldServer3DClient.java

package worldserver3dclient;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;

/**
 *
 * @author Luiz Fernando Romanini
 */
public class WorldServer3DClient {

    Socket clientSocket = null;

    public void connect( String strHost, int iPort ) throws IOException
    {
        clientSocket = new Socket( strHost, iPort );
    }

    public void disconnect( ) throws IOException
    {
        if( clientSocket != null )
            clientSocket.close( );

        clientSocket = null;
    }

    public boolean isConnected( )
    {
        boolean b = false;

        if( clientSocket != null )
            b = clientSocket.isConnected( );

        return b;
    }
    
    public String send( String strMessage ) throws IOException
    {
        StringBuilder stringBuilder = new StringBuilder( );

        DataOutputStream outToServer = new DataOutputStream( clientSocket.getOutputStream( ) );
        BufferedReader inFromServer = new BufferedReader( new InputStreamReader( clientSocket.getInputStream ( ) ) );

        outToServer.writeBytes( strMessage + '\n' );

        while( inFromServer.ready( ) )
        {
            stringBuilder.append( inFromServer.readLine( ) );
            stringBuilder.append( '\n' );
        }

        return stringBuilder.toString( );
    }
}

Parte do código fonte que utiliza o WorldServer3DClient: JFrame.java

    private void jBtnConnectActionPerformed(java.awt.event.ActionEvent evt) {                                            
        try
        {
            if( worldServer3DClient == null )
                worldServer3DClient = new WorldServer3DClient( );

            worldServer3DClient.disconnect( );
            worldServer3DClient.connect( jTxtHost.getText( ), Integer.parseInt( jTxtPort.getText( ) ) );
        }
        catch( IOException e )
        {
            jTxtInformationArea.setText( jTxtInformationArea.getText( ) + '\n' + e.toString( ) );
        }
    }                                           

    private void jBtnExecuteActionPerformed(java.awt.event.ActionEvent evt) {                                            

        try
        {
            if( worldServer3DClient == null || !worldServer3DClient.isConnected( ) )
            {
                jTxtInformationArea.setText( jTxtInformationArea.getText( ) + '\n' + "Not connected!" );
            }
            else if( !"".equals( jTxtCommand.getText( ).trim( ) ) )
            {
                String strMessageReturned = worldServer3DClient.send( jTxtCommand.getText( ) );
                jTxtInformationArea.setText( jTxtInformationArea.getText( ) + '\n' + strMessageReturned );
                jTxtCommand.setText( "" );
            }
        }
        catch( IOException e )
        {
            jTxtInformationArea.setText( jTxtInformationArea.getText( ) + '\n' + e.toString( ) );
        }
    }                                           

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer