コード例 #1
0
ファイル: client.py プロジェクト: vmanriq/tarea2_distribuidos
 def __init__(self, nombre):
     self.nombre = nombre
     self.channel = grpc.insecure_channel(f'{SERVER}:{PORT}')
     self.stub = Chat_pb2_grpc.ChatStub(self.channel)
     self.id = self.stub.Connection(Chat_pb2.Nombre(
         nombre=nombre)).id  # se le pide al server que nos de un id
     print(f'Id cliente: {self.id}, Nombre Cliente: {self.nombre}')
     print(
         '==================================BEGIN======================================='
     )
     self.my_user = Chat_pb2.User(id=self.id, nombre=self.nombre)
     #se crea thread para que escuche los mensajes entrantes
     threading.Thread(target=self.ReciveMessage, daemon=True).start()
コード例 #2
0
ファイル: client.py プロジェクト: vmanriq/tarea2_distribuidos
 def SendMessage(self, contenido, destino):
     try:
         response = self.stub.SendMessage(
             Chat_pb2.Message(
                 emisor=self.my_user,
                 contenido=contenido,
                 timestamp=time.strftime("%c"),
                 receptor=Chat_pb2.User(id=int(destino.split('#')[1]),
                                        nombre=destino.split('#')[0]),
                 id=self.stub.New_message(Chat_pb2.Id(id=self.id)).id))
         if not response.flag:
             print(
                 "NO existe el usuario a quien se le quiere enviar el mensaje "
             )
     except grpc.RpcError as err:
         print(err)
コード例 #3
0
ファイル: server.py プロジェクト: vmanriq/tarea2_distribuidos
 def ListaDeUsuarios(self, id, context):
     r = Chat_pb2.UserList()
     for i in self.nombre:
         r.user.append(Chat_pb2.User(id=i, nombre=self.nombre[i]))
     return r