- Poeki
MEMBRO - Mensagens : 53
Data de inscrição : 16/09/2015
Idade : 25
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 ?
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
MEMBRO - Mensagens : 53
Data de inscrição : 16/09/2015
Idade : 25
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
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
- Weeslleeyone
MEMBRO - Mensagens : 227
Data de inscrição : 14/01/2015
Idade : 28
Localização : Marte
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.
É 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
MEMBRO - Mensagens : 53
Data de inscrição : 16/09/2015
Idade : 25
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
MEMBRO - Mensagens : 227
Data de inscrição : 14/01/2015
Idade : 28
Localização : Marte
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).
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).
- Dudugz2
MEMBRO - Mensagens : 56
Data de inscrição : 02/02/2017
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):
...
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):
...
Permissões neste sub-fórum
Não podes responder a tópicos