2011-05-01 2 views
1

Unix에서 소켓을 사용하여 기본 C 클라이언트/서버 프로그램을 작성하려고합니다. 집 컴퓨터에서 학교의 Unix 서버에 로그온하고 있습니다. 두 번 로그온하고 한 번은 서버를 시뮬레이트하고 다른 한 번은 클라이언트를 시뮬레이트합니다. AF_INET 또는 AF_UNIX를 사용합니까? 가정용 컴퓨터 또는 학교의 IP 주소를 사용해야합니까? 학교의 IP 주소를 사용하는 경우 어떻게해야합니까? 어떤 포트 번호를 사용해야하는지 어떻게 알 수 있습니까? 내 클라이언트와 서버의 포트 번호가 동일해야합니까?UNIX 서버에서 C로 클라이언트/서버 프로그램 작성

+0

문제가 해결되면 (이 것으로 보이는) 다음을 클릭하여 가장 많이 도움이 된 대답을 '허용'이라고 표시하십시오. 그 대답 옆의 명확한 진드기에. 그것은 미래에 비슷한 문제가있는 사람에게 지표 역할을합니다. 자세한 정보는 http://stackoverflow.com/faq – forsvarir

답변

2
  1. 보통 AF_INET을 사용하고 나중에 둘 이상의 컴퓨터간에 통신 할 수 있습니다.
  2. 127.0.0.1; 이것은 "이 컴퓨터"를 의미합니다.
  3. 포트 번호를 만들어 두 포트 모두에 사용하십시오. 일반적으로 1024에서 65536 사이의 것을 선택해야합니다.
+1

에서 찾을 수 있습니다.이 경우 "이 컴퓨터"는 학교의 컴퓨터 (즉 모든 컴퓨터가 실행되는 컴퓨터)입니다. –

+0

도움 주셔서 감사합니다. 나는 지금 일하는 코드를 가지고있다. –

0

프로그램이 학교 컴퓨터에서 실행 중이므로 해당 IP 주소를 사용해야합니다.
/usr/sbin/ifconfig -a 명령을 사용하여 찾을 수 있습니다 (inet 주소). 그러나 두 로그인이 동일한 실제 컴퓨터 (예 : 항상 그렇지는 않은 학교)에있는 경우 127.0.0.1을 사용할 수 있습니다.
원하는 포트 번호를 사용할 수 있지만 일부 서비스에서는 낮은 포트 번호가 기본값이므로 4 자리와 같이 높은 포트 번호를 선택하십시오.
클라이언트와 서버의 포트 번호가 동일 할 필요는 없지만 동일한 경우 포트 번호를 기억하는 것이 더 쉽습니다.

+0

도움 주셔서 감사합니다. 나는 지금 일하는 코드를 가지고있다. –

0

많은 예제를 보려면 here을 참조하십시오. 당신이 이해해야 할 몇 가지 물건이있다 :

  • TCP, UDP 및 그들 사이의 차이는
  • 소켓 무엇
  • , 소켓 (스트림, 데이터 그램, 연속 패킷)
  • 소켓 API의 종류 - BSD, POSIX, WinSock (Windows 용 프로그램을 계획하는 경우)
+0

도움 주셔서 감사합니다. 나는 지금 일하는 코드를 가지고있다. –

관련 문제