TP04
COLTEC- Colégio Técnico
PROF. Leandro Maia Silva
Disciplina: Tecnologia de Programação
Ano: 2011
Trabalho Prático - Chat
Valor: 10 pontos
Entrega: 02/09/2011
Especificação
O chat cliente deverá implementar o protocolo e os comportamentos básicos descritos no restante deste documento.
Protocolo
- As mensagens serão enviadas/recebidas através da utilização protocolos TCP/IP.
- O protocolo do chat deverá possuir o seguinte formato:
dos
+---------+------------+-------------------+----------+
| serviço | tam. dados | dados
| checksum |
+---------+------------+-------------------+----------+
| 1 byte | 2 bytes
| (tam.dados) bytes | 2 bytes |
+---------+------------+-------------------+----------+
- O campo serviço possui comprimento de 1 byte e designará qual serviço será executado no cliente/servidor. A lista de serviços será apresentada adiante.
- O campo tam. dados informa a quantidade de bytes existentes no próximo campo da mensagem.
- O campo dados possui os dados necessários para a realização do serviço. - O campo checksum possui dois bytes de validação para garantir que a mensagem recebida não foi violada. O valor do checksum é calculado como a soma de todos os bytes da mensagem (serviço, tamanho e dados).
Serviço 0x01 – Olá
O cliente, após conectar-se ao servidor, deverá enviar uma mensagem de olá informando o apelido que deseja utilizar na rede.
O servidor consultará em sua lista de clientes se existe algum cliente com o mesmo apelido conectado. Em caso negativo, o servidor responderá ao cliente uma mensagem de olá com o seu no servidor. Caso o apelido já esteja em uso, o servidor responderá negativamente (serviço 0x7F).
Nesse caso, o cliente deverá escolher outro apelido e enviar a mensagem de olá novamente.
O servidor só aceitará troca de mensagens com o cliente após aceitar o apelido escolhido.
Caractere....: 2 bytes
Apelido......: Vetor de caracteres
Identificador: Inteiro
Exemplos:
// Olá servidor, meu