Ir para baixo
Poeki
Poeki
MEMBRO

MEMBRO
Mensagens : 53
Data de inscrição : 16/09/2015
Idade : 25

Class        Empty Class

Sex Nov 10, 2017 5:12 pm
Coé rapaziada, alguém saberia me dizer algo sobre as classes das sources de tfm ?

Sei que a client é os dados de cada client, exemplo se eu definir a variável self.xxx = 10 para um client, esse valor só ele usa ao menos q peguem pelo server com algo tipo
for client in self.server.clients:
If client.username == "myname":
self.xxx = client.xxx

Aí tem a class server q é útil para todos, tipo
(no client)
while True:
self.xxx = self.server.xxx

com isso quando mudar o xxx no server vai mudar pra todos os clients

mas a minha dúvida fica na class Room, como funciona ?
Poeki
Poeki
MEMBRO

MEMBRO
Mensagens : 53
Data de inscrição : 16/09/2015
Idade : 25

Class        Empty Re: Class

Sex Nov 10, 2017 5:19 pm
Se eu fizer algo tipo

if command == "sala abc"
self.CurrentRoom = "abc"

for clients in self.server.players:
If client.CurrentRoom == "abc"
print self.username, "estou na sala abc"

Seria a mesma coisa q usar a class room


Última edição por Poeki em Sáb Nov 11, 2017 12:34 am, editado 1 vez(es)
Weeslleeyone
Weeslleeyone
MEMBRO

MEMBRO
Mensagens : 227
Data de inscrição : 14/01/2015
Idade : 28
Localização : Marte

Class        Empty Re: Class

Sex Nov 10, 2017 11:30 pm
Não sei se entendi bem a pergunta, mas se for pra saber o que é a classe Room:

É a classe que mantem os dados de cada sala do servidor.
Cada sala criada ganha uma classe: BR-1, EN-1, *vanilla1, etc... 
Bem parecido com o client.

Dentro do server existe uma variável que armazena todas as rooms criadas, no seu caso provavelmente self.server.rooms.
Dentro da classe room existe uma variável que armazena todos os clients que estão atualmente nessa sala.

O funcionamento disso é relativamente simples.
Poeki
Poeki
MEMBRO

MEMBRO
Mensagens : 53
Data de inscrição : 16/09/2015
Idade : 25

Class        Empty Re: Class

Sáb Nov 11, 2017 12:29 am
Então basicamente eu colocando um self.transport.write("Oi") na class room, quando ele for executado todos os clients na sala vão receber o mesmo pacote(Oi) ?

Weeslleeyone
Weeslleeyone
MEMBRO

MEMBRO
Mensagens : 227
Data de inscrição : 14/01/2015
Idade : 28
Localização : Marte

Class        Empty Re: Class

Sáb Nov 11, 2017 1:02 am
Não, "self.transport" não é um atributo da classe Room, mas sim de um Client, no caso, ele é herdado do protocolo do twsited, já a Room é só uma classe simples, ela não herda nada relacionado a conexão servidor-cliente, apenas manipula tudo que acontece nas salas. 

O único jeito de enviar o pacote é do método tradicional, fazendo um laço for / while nos clientes que estão dentro da sala, que é o que o método sendAll faz (com certeza já deve ter visto algo do tipo).
avatar
Dudugz2
MEMBRO

MEMBRO
Mensagens : 56
Data de inscrição : 02/02/2017

Class        Empty Re: Class

Dom Nov 12, 2017 9:26 pm
existem 3 ou mais classes, A que cuida dos dados do servidor, a que cuida dos dados do cliente e a que cuida dos dados das salas, e o self.transport.write é utilizado para enviar dados entre o cliente e o servidor ...

esse título é meio errado também por que class lembra da criação de classes no python:

class nome_da_classe(object):
 def __init__(self):
...
Conteúdo patrocinado

Class        Empty Re: Class

Ir para o topo
Tópicos semelhantes
Permissões neste sub-fórum
Não podes responder a tópicos