Пример #1
0
    def __init__(self, address, port):
        channel = grpc.insecure_channel(address + ':' + str(port))
        self.conn = rpc.ChatServerStub(channel)
        self.username = input("Enter ypur name : ")

        threading.Thread(target=self.recive, daemon=True).start()

        self.send()
Пример #2
0
	def __init__(self, u:str, window):
		self.window = window
		self.username = u
		channel = grpc.insecure_channel('localhost:11912')
		self.conn = rpc.ChatServerStub(channel)
		threading.Thread(target=self.__listen_for_messages, daemon=True).start()

		self.__setup_ui()
		self.window.mainloop()
Пример #3
0
    def __init__(self, host, puerto, modo):
        self.conn = rpc.ChatServerStub(
            grpc.insecure_channel(host + ':' + str(puerto)))
        print("[Info] Conexión establecida con el servidor:",
              host + ':' + str(puerto))
        self.modo = modo
        self.cliente = chat.Cliente()
        self.Login()
        threading.Thread(target=self.recibirMensajes, daemon=True).start()
        print("[Info] Sesión iniciada.")

        if self.modo == 0:
            self.enviarMensajesAuto()
        else:
            self.enviarMensajes()
Пример #4
0
    def __init__(self, u: str):

        self.username = u
        self.userslist = []
        self.encrypt = AES_Encrypt()
        # create a gRPC channel + stub
        with grpc.insecure_channel(ADDRESS + ':' + str(PORT)) as channel:
            
            print('[Spartan] Connected to Spartan Server at port {}.'.format(PORT))

            chat_stub = chat_rpc.ChatServerStub(channel)
            user_stub = chat_rpc.UserStub(channel)
    
            # create new listening thread for when new message streams comes in
            threading.Thread(target=self.receive_message, args=[chat_stub], daemon=True).start()
            self.add_user(chat_stub, user_stub)
            self.chat_options(user_stub, chat_stub)
            self.send_message(chat_stub, user_stub)
Пример #5
0
    def __init__(self, username: str,groupName:str,encryptKey,maxCachelimit:str,RateLimitperUser:str):
        # the frame to put ui components on
        self.AES = AESCipher(encryptKey)
        self.username = username
        self.destination = groupName
        self.RateLimitperUser= RateLimitperUser
        self.maxCachelimit=maxCachelimit
        self.chat_list = []

        # create a gRPC channel + stub
        channel = grpc.insecure_channel(address + ':' + str(port))
        self.conn = rpc.ChatServerStub(channel)
        self.firstTime = 0

        print("[Spartan] Connected to Sparatan server at {} \n".format(port))
        print("Users in this group are {}".format(validGroups[self.destination]))

        # create new listening thread for when new message streams come in from the server
        threading.Thread(target=self.__listen_for_messages, daemon=True).start()
        # create a new thread to read the message from client side
        threading.Thread(target=self._read_message(), daemon=True).start()
Пример #6
0
    def __init__(self, sender: str):
        self.sender = sender
        self.connect = True
        self.onlineusers = []
        self.requestFrom = ''
        self.receiver = ''
        self.connect_flag = False
        self.set_prefix = True
        self.cipher_config = None
        self.myGroups = []
        self.group = ''

        # create a gRPC channel + stub
        channel = grpc.insecure_channel(address + ':' + str(port))
        self.conn = rpc.ChatServerStub(channel)

        # create new listening thread for when new message streams come in
        threading.Thread(target=self.__listen_for_messages,
                         daemon=True).start()

        time.sleep(1)

        while self.connect_flag is False:
            continue

        print('[Spartan] User list: ' +
              " ".join(str(x) for x in self.onlineusers))
        print('[Spartan] Group list: ' +
              " ".join(str(x) for x in self.myGroups))

        if self.requestFrom is not '':
            receiver = input(
                self.requestFrom +
                ' is requesting to chat with you. Enter \'yes\' to accept or different user or group: '
            )
            if receiver.lower() == 'yes' or receiver == self.requestFrom:
                self.receiver = self.requestFrom
            else:
                while True:
                    if not receiver or receiver == self.sender or receiver not in self.onlineusers or receiver != self.group:
                        print('Enter a valid user or group name: ',
                              end='',
                              flush=True)
                        receiver = input()
                        if receiver == self.requestFrom:
                            self.receiver = receiver
                            break
                    else:
                        self.cipher_config = None
                        self.receiver = receiver
                        if self.group != receiver:
                            self.send_connect_request()
                        break
                self.requestFrom = ''
        else:
            while True:
                receiver = input(
                    '[Spartan] Enter a user or group whom you want to chat with: '
                )
                if not receiver or receiver == self.sender or receiver not in self.onlineusers and receiver not in self.myGroups:
                    print('Enter a valid user or group name...')
                else:
                    self.receiver = receiver
                    if self.receiver in self.myGroups:
                        self.group = self.receiver
                    self.send_connect_request()
                    break

        print('[Spartan] You are now ready to chat with ' + self.receiver +
              '.')

        self.openChatWindow()
        #print("S[{}],{}".format(n.name, n.message))
        stub.SendNote(n)
    if n.name == n.receiver:
        print("cannot communicate")
        sys.exit()


filepath = "config.yaml"
data = yaml_loader(filepath)
port = data.get('port')
address = data.get('address')
#print(port)
#print(address)
#channel = grpc.insecure_channel('localhost:3000')
channel = grpc.insecure_channel(address + ':' + str(port))
stub = chat_pb2_grpc.ChatServerStub(channel)
s = chat_pb2.ChatNote()
user_list1 = data.get('group1')
user_list2 = data.get('group2')
#user_list1 = ['alice','bob','charlie','eve']
#user_list2 = ['foo','bar','baz','qux']
receiver = sys.argv[1]
print(receiver)

if receiver in user_list1:
    name = 'Group1'
elif receiver in user_list2:
    name = 'Group2'
else:
    print("invalid user")
#print(alreadyloggedin)