-
Posts
2 -
Cadastrado em
-
Última visita
Reputação
0-
Python Criar um servidor que utiliza de sockets TCP
j.j.t.m respondeu ao tópico de j.j.t.m em Programação - outros
cheguei ate aqui nao estou conseguindo adicionar palavras nao sei nem por onde começar py.doc -
Python Criar um servidor que utiliza de sockets TCP
j.j.t.m postou um tópico em Programação - outros
Objetivo Criar um processo servidor que utiliza de sockets TCP como provido pela biblioteca socket do Python para implementar um servi¸co que retorna a tradu¸c˜ao em inglˆes para palavras informadas em portuguˆes. As palavras ser˜ao informadas pela aplica¸c˜ao cliente, cujo processo vocˆe tamb´em deve criar. Instru¸c˜oes O servidor, que ser´a chamado de TranslatorServer, deve operar da seguinte forma: • Retornar a tradu¸c˜ao em inglˆes para uma palavra informada em portuguˆes ap´os o cliente ter se conectado ao servidor atrav´es da instru¸c˜ao CONECTAR • Aceitar mensagens do tipo ARMAZENAR usadas para armazenar uma nova tupla de tradu¸c˜ao (palavra, word) • Aceitar mensagens do tipo CONSULTAR usadas para listar as palavras que o servidor j´a conhece a tradu¸c˜ao • Aceitar mensagens do tipo SAIR que resulta no fechamento da sess˜ao em andamento entre cliente e servidor • Aceitar mensagens do tipo FINALIZAR que resulta no fechamento da sess˜ao e no encerramento do processo servidor Cen´ario inicial Quando o TranslatorServer inicializar, conhecer´a inicialmente cinco palavras em portuguˆes e suas respectivas tradu¸c˜oes. Ele deve armazenar esses dados de inicializa¸c˜ao numa estrutura de dado interna de tamanho suficiente para armazenar esses cinco pares, permitindo acrescentar pelo menos mais dez pares. O servidor ent˜ao espera por uma conex˜ao de um cliente a partir de uma porta de comunica¸c˜ao `a sua escolha. O cliente (chamado de TranslatorClient) usa das mensagens especificadas acima para enviar comandos ao servidor. O programa cliente permitir que o usu´ario escolha entre as mensagens dispon´ıveis para intera¸c˜ao com o servidor. Descri¸c˜ao detalhada das mensagens CONECTAR: Essa mensagem ´e enviada do cliente para o servidor para que seja estabelecida uma conex˜ao entre ambos e iniciada uma sess˜ao. Ao enviar a mensagem, o cliente espera pela mensagem de retorno do servidor via socket. Ap´os receber e mostrar a mensagem de retorno do servidor o cliente pode iniciar o envio de outra mensagem. Ao receber uma mensagem CONECTAR do cliente, o servidor deve retornar a string ”CONECTAR: OK”e esperar por mais instru¸c˜oes do cliente. Solicita¸c˜oes de tradu¸c˜oes s˜ao enviadas pelo cliente atrav´es de uma string contendo a palavra que deseja ser traduzida do portuguˆes para o inglˆes. Ao receber a palavra, o servidor deve retornar a palavra em inglˆes correspondente, caso a palavra j´a esteja em seu banco de dados, como no exemplo a seguir: Cliente: BOLA Servidor: BALL Cliente: JOGO Servidor: N~AO POSSUO TRADUC¸~AO PARA ESSA PALAVRA ARMAZENAR: Esta mensagem ´e enviada do cliente para o servidor a fim de registrar novas tradu¸c˜oes. O processo se inicia enviado a mensagem ”ARMAZENAR”seguida pela palavra em portuguˆes e por sua equivalente em inglˆes, separadas por espa¸co simples. O servidor deve responder com a mensagem ”ARMAZENAR: OK”. Exemplo: Cliente: ARMAZENAR JOGO GAME Servidor: ARMAZENAR: OK Se o servidor j´a conhece a palavra armazenada, a tradu¸c˜ao correspondente deve ser substitu´ıda por aquela enviada na mensagem ARMAZENAR. CONSULTAR: Essa mensagem ´e enviada do cliente para o servidor e faz com que o servidor retorne todas as palavras armazenadas em sua mem´oria. O cliente envia a string ”QUERY”e o servidor deve responder com a lista de palavras em portuguˆes armazenadas localmente, finalizada pela mensagem ”CONSULTAR: OK”para confirmar que a opera¸c˜ao de consulta foi completada. Exemplo: Cliente: CONSULTAR Servidor: CACHORRO CAVALO JOGO BOLA CASA QUERY: OK SAIR: Esta mensagem ´e enviada do cliente para o servidor avisando a este que o cliente n˜ao quer mais continuar a sess˜ao em execu¸c˜ao (que foi inicializada pela mensagem CONECTAR). O cliente envia a mensagem e ap´os receber a resposta do servidor (SAIR: OK) deve fechar sua conex˜ao. O servidor ap´os receber a mensagem SAIR deve enviar a mensagem SAIR: OK e ent˜ao esperar por uma nova conex˜ao com um novo cliente. Exemplo: Cliente: SAIR Servidor: SAIR: OK FINALIZAR: Mensagem enviada com objetivo de finalizar o servi¸co rodando no servidor. O servidor, ao receber a mensagem FINALIZAR, responde com FINALIZAR: OK ent˜ao deve fechar todos as suas conex˜oes em aberto e encerrar sua execu¸c˜ao. Isso far´a com que todas as palavras registradas sejam perdidas, e se o servidor for reiniciado contar´a novamente apenas com as cinco palavras de inicializa¸c˜ao. Exemplo: Cliente: FINALIZAR Servidor: FINALIZAR: OK
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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