-
Notifications
You must be signed in to change notification settings - Fork 0
/
servidor.py
54 lines (42 loc) · 1.55 KB
/
servidor.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/env/python
import sys
from terminal import *
from socket_servidor import *
from arquivo import *
class Servidor:
def __init__ (self, interfaceGrafica, tamanhoBuffer):
self.interfaceGrafica = interfaceGrafica
self.porta = 0
self.nomeArquivo = ""
self.term = None
self.arquivo = None
self.buffer = ''
self.tamanhoBuffer = tamanhoBuffer
def executa (self):
# Inicializa atributos do cliente
self.inicializa ()
# Inicializa socket do servidor
s = Socket_servidor ('127.0.0.1', self.porta, self.tamanhoBuffer)
# Inicializa o sevidor
s.inicializaServidor ()
# Looping de recebimento de dados
while 1:
self.buffer = s.processaCliente ()
# Realiza gravacao em arquivo dos dados recebidos
self.arquivo = Arquivo (self.nomeArquivo)
self.arquivo.abre ('a')
self.arquivo.escreve (self.buffer)
self.arquivo.fecha ()
# Finaliza o servidor
s.fechaConexao ()
def inicializa (self):
if (self.interfaceGrafica == 'N'):
# Inicializa a interface em modo texto
self.term = Terminal ()
else:
# Inicializa a interface grafica (nao implementada)
self.term = Terminal ()
# Requisita a porta do servidor
self.porta = self.term.lePorta ()
# Requisita o caminho do arquivo
self.nomeArquivo = self.term.leCaminhoArquivo ('Digite o nome (caminho completo) do arquivo a escrever')