사설ip 공인ip 포트 기초네트워크 소켓 질문입니다.

dflkj2323k@GitHub의 이미지

ㅠㅠ 정말 속이터져서 질문합니다.

공인ip는 210.~.~.~ 이구요.
지금 컴퓨터의 사설ip는 192.168.0.5입니다.

서버 포트는
#define SERVER_PORT 8000으로 설정했습니다.
(서버의 사설ip주소는 "192.168.0.5" 입니다.)

클라이언트에 ip주소하고 포트번호를
#define SERVER_PORT 8000
#define SERVER_IP "192.168.0.5"

이렇게 설정했습니다.

클라이언트를 원본서버있는 같은컴퓨터, 같은 사설ip"192.168.0.5"인 곳에서 테스트할때는 잘 동작했습니다.

그런데 그 클라이언트를 다른 컴퓨터(다른ip, 다른 공유기, 다른pc방 등등)에서 실행시키면
예를들어 같은 공유기쓰는 사설아이피 "192.168.75.63"인 컴퓨터에서 클라이언트를 실행시키면 접속을 못합니다.

제가 또 알아보니까. 라우터. 공인ip가 필요하고 하여튼 복잡한 설명이 필요한데.

이런 간단한것도 제대로 설명해주는책도 없더군요.

어떻게 해야하는지 당황스럽습니다. 기초네트워크 공부하는데,,

nRet = connect(,,); 이 connect에서 넘어가질 못하고 에러로 갑니다.
if (nRet == SOCKET_ERROR) {
std::cout << "Error : " << WSAGetLastError() << std::endl;
return false;
}

라우터에서 공인ip를 ~하는데, 실제예제는 아무것도 없고 모르겠습니다.
단순한 예제파일 하나 제대로 동작안하는데 그놈의 127.0.0.1 말고 실제 ip로는 하나도 동작이 안됩니다. 책이 이상한건지. 내가 너무 멍청한건지.

제발 도와주세요.

isanghan의 이미지

적혀있는 내용으로 유추해보면 아마도 서브넷 마스크(subnet mask) 안맞췄을 가능성이 높은거 같은데요.
그 쪽 네트워크 상황을 모르니 틀릴 가능성도 있습니다만 저 사설 아이피에서 접근하려면 프리픽스 16이하 255.255.0.0은 되야하니까요. 거기다가 서브넷 마스크 설정은 언급도 없고.
이 문제가 맞다면 책 문제로 보기는 힘듭니다 네트워크는 또 전공이 나뉘는 내용이라..

--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--
N년째 초보입니다

익명 사용자의 이미지

tcp/ip 네트워크 개념부터가 필요해보입니다.
네트워킹 기초 서적을 먼저 정독 하세요

Prentice의 이미지

(완벽한 비유는 아니지만) 전화번호에 비유해보자면,

A회사 내에서 내선번호 12345로 전화를 걸었을 때 담당자에게 전화가 잘 되는데

B회사 내에서 아무리 12345를 눌러도 담당자와 연결이 안 된다면

B회사에서 A회사 담당자에게 전화를 걸기 위해서는 먼저 9를 누른다거나 (내선전화가 아니라 일반 외부망을 쓴다고 해주거나) 해서 A회사 대표번호를 먼저 입력해야 하기 때문이겠죠.

사설 IP는 내선번호와 비슷하고 공인 IP는 대표번호와 비슷하다고 생각합니다.

whitecap의 이미지

공유기에서 라우팅 셋팅을 해줘야 합니다.
확인은 ping 테스트를 해보면 됩니다. .
또 외부네트웍에서 접속가능할려면 포트포워딩 또는 DMZ 설정이 되 있어야 합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.