python socket 통신 질문입니다.

조회수 367회

소켓 통신 연결을 진행하고 있습니다. 내부 ip를 활용하여 연결하면 연결이 잘 됩니다. 이미지

그런데 외부 ip를 사용하여 연결을 시도 할 경우, Client 측만 연결이 완료 됐다고 뜨고 server쪽은 연결이 진행되지 않습니다... 사용되는 port 8080은 iptime 포트포워딩을 뚫어 둔 상태이고 윈도우 인바운드 규칙에 8080을 추가 해 놨습니다. 이미지

사용한 코드는 다음과 같습니다

port = 8080
sock = socket(AF_INET, SOCK_STREAM)
isServer = False

while True:
    print("1. Host")
    print("2. Client")

    a = input()
    if a == '1':
        isServer=True
    elif a != '2':
        print("select 1 or 2")
        continue
    break

if isServer:
    print("Server")
    serverSock = socket(AF_INET, SOCK_STREAM)
    serverSock.bind(('', port))
    serverSock.listen(100)
    print('%d connect watting...' % port)
    sock, addr = serverSock.accept()
    print(sock, addr)
else:
    print("insert Server ip")
    serverIP = input('>>')
    sock.connect((serverIP, port))

print('connect success')

외부아이피 연결을 진행하려면 네트워크 설정을 어떻게 바꿔줘야 할까요?

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)