• 카테고리

    질문 & 답변
  • 세부 분야

    경영

  • 해결 여부

    미해결

왜 접속이 안될까요?

21.03.01 12:39 작성 조회수 199

0

from pwd import credintials
import win32com.client
import pythoncom
import time

class loginEventHandler:
    is_login = False
    def Onlogin(self, code, msg):
        print(code, msg)
        print('로그인 완료')
        loginEventHandler.is_login = True

#win32com.client.DispatchWithEvents로 서버에 접속할 수 있음. 서버에 접속해서 사용할 수 있는 명령어는 3가지
#XASession은 서버연결, 로그인등(파일명 XA_Session), XAQuery는 조회 TR(파일명 XA_DataSET), XAReal은 실시간 TR(파일명 XA_DataSet)
#win32com.client.DispatchWithEvents(파일명.명령어, 로그인정보) 형식으로 사용함.
session = win32com.client.DispatchWithEvents("XA_Session.XASession", loginEventHandler)
session.ConnectServer("hts.ebestsec.co.kr", 20001)
print(session.IsConnected())
if session.IsConnected():
    session.Login(credintials['user'], credintials['password'], credintials['cert_pwd'], 0, 0)

while loginEventHandler.is_login == False:
    pythoncom.PumpWaitingMessages()

print('완료?')

강사님의 코드가 이전 강의 끝부분 완성 코드와 이번 강의 시작 부분이 import문도 그렇고 좀 달라졌습니다. 이것 저것 시험하면서 그렇다 치고, 위의 코드대로 실행을 했는데 while문을 빠져나가지를 않네요. 눈으로 비교해 봤을때는 강사님 코드와 특별히 다른 점이 없어 보이는데 로그인이 안되는 이유가 뭔지 잘 모르겠습니다.

답변 2

·

답변을 작성해보세요.

1

코드를 다시보니 Onlogin이 아니라 OnLogin입니다.

양주형님의 프로필

양주형

질문자

2021.03.01

아!! 감사합니다. 코드도 똑바로 타이핑을 못했군요. 다시한번 감사하고 죄송스럽습니다. 

1

while문을 빠져나오지 않았다는거는 뒤에 print 완료? 도 print 가 되지 않는다는 뜻인다요?

양주형님의 프로필

양주형

질문자

2021.03.01

네 맞습니다. True를 출력하고 while문으로 들어간 후 반환 값을 받지 못하고 있습니다.

완료? 도 출력을 못합니다.