0
I have a Socket class that is working normally this way:
class Socket():
    __ffChatSocket = ""
    __meuTelefone = ""
    __WhatsappAPI = ""
    __dest = ()
    def __init__(self, telefone, WhatsappAPI):
        ip = str(self.getFileConfigFF('infoserver','ip'))
        port = int(self.getFileConfigFF('infoserver','port'))
        self.__dest = (ip, port)
        self.__meuTelefone = telefone
        self.socketConnect()
        self.__WhatsappAPI = WhatsappAPI
    def socketConnect(self):
        try:
            self.__ffChatSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            self.__ffChatSocket.connect(("172.20.50.243", 4321)))
            self.__ffChatSocket.send(self.criarEvento("onCompleteConnection", [self.getNumeroFuturoFone()]))
            thread.start_new_thread(self.socketReceiveData, ())
        except Exception as erro:
            self.logErro("Conexao falhou ")
            self.logErro("O erro foi: ")
            self.logErro(erro)
            self.reconectarSocket()
    def getFileConfigFF(self, tag, subTag):
        Config = configparser.ConfigParser()
        pastaLocal = os.path.dirname(os.path.abspath(__file__))
        Config.read(pastaLocal + '\config.ini')
        caminho = re.findall('"([^"]*)"', Config[tag][subTag])
        return caminho[0]
But I want to take the ip and the port for a file . ini, I have performed several tests using the getFileConfigFF method and it takes the values normally.
I tried to assign values to the connect method in many ways like:
dest = (ip, port)
self.__ffChatSocket.connect(dest)
or
self.__ffChatSocket.connect((ip, port))
I tried to take the values using cast (str and int) and also without the cast, but it always presents the same error when trying to connect:
[Errno 10061] Nenhuma conexÒo p¶de ser feita porque a mßquina de destino as recusou ativamente
This is the last code I tested:
class Socket():
    __ffChatSocket = ""
    __meuTelefone = ""
    __WhatsappAPI = ""
    __dest = ()
    def __init__(self, telefone, WhatsappAPI):
        ip = str(self.getFileConfigFF('infoserver','ip'))
        port = int(self.getFileConfigFF('infoserver','port'))
        self.__dest = (ip, port)
        self.__meuTelefone = telefone
        self.socketConnect()
        self.__WhatsappAPI = WhatsappAPI
    def socketConnect(self):
        try:
            self.__ffChatSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            pprint(self.__dest)
            self.__ffChatSocket.connect(self.__dest)
            self.__ffChatSocket.send(self.criarEvento("onCompleteConnection", [self.getNumeroFuturoFone()]))
            thread.start_new_thread(self.socketReceiveData, ())
        except Exception as erro:
            self.logErro("Conexao falhou ")
            self.logErro("O erro foi: ")
            self.logErro(erro)
            self.reconectarSocket()
    def getFileConfigFF(self, tag, subTag):
        Config = configparser.ConfigParser()
        pastaLocal = os.path.dirname(os.path.abspath(__file__))
        Config.read(pastaLocal + '\config.ini')
        caminho = re.findall('"([^"]*)"', Config[tag][subTag])
        return caminho[0]
I put pprint(self.__dest) before the connection to show the value that was set to self. __dest and what is shown on the screen is:
('172.20.50.247', 4433)
That is, the ip and the port are right, but I don’t understand why it’s not connected and why it normally connects when the values are set manually.
Have you managed to solve your problem ? Your code is not returning any errors when you try to use the settings ?
– NoobSaibot
The problem was time to get the configuration file, it was already solved.
– Wictor Chaves