상황은 이렇습니다.
먼저 C언어로 작성한 양방향채팅프로그램은 작동이 잘 됩니다.
공유기에서 따로 포트를 열어주지 않아도 bind 되어있지 않은 모든 포트를 이용하여 통신 연결이 잘 됩니다.
ex)
192.168.194.2 <-> 192.168.219.185 (포트 9999)
192.168.194.16 <-> 192.168.219.185(포트8008)
위처럼 사설 대역대가 달라도 통신이 잘 됩니다.
그런데 문제는 자바로 작성한 소켓 통신프로그램입니다.
서버엔 mysql을 이용해 로그인 아이디 데이터베이스가 있으며
jdbc를 이용해 연결하였습니다.
먼저 192.168.194.2 PC에서 서버를 킵니다.
그리고 클라이언트파일을 jar로 만들어 실행시키면 아이디 입력창이 나옵니다.
아이디를 맞게 입력하면 서로 통신이 됩니다.
그런데 클라이언트 jar파일을 아까 통신이 잘됐던 192.168.219.185 라던지
192.168.194.16 이라던지
다른 PC에서 실행시키면 통신이 되질 않습니다.
192.168.194.2 PC를 찾지 못하거나
DB값을 제대로 비교하지 못하는 것 같습니다.
하나의 PC에서 서버와 클라이언트 모두 동작하면 서버 클라이언트 통신이 잘 되고
두개 이상의 PC에서 서버와 클라이언트 따로 동작하면 통신이 안되는 현상..
어떤 문제가 원인일 수 있을까요?
공유기에 3306포트도 뚫어둔 상태입니다..
코드상에 서버ip는 localhost로 설정하지 않고 직접 ip를 넣어줬습니다.