Unix에서 소켓을 사용하여 기본 C 클라이언트/서버 프로그램을 작성하려고합니다. 집 컴퓨터에서 학교의 Unix 서버에 로그온하고 있습니다. 두 번 로그온하고 한 번은 서버를 시뮬레이트하고 다른 한 번은 클라이언트를 시뮬레이트합니다. AF_INET 또는 AF_UNIX를 사용합니까? 가정용 컴퓨터 또는 학교의 IP 주소를 사용해야합니까? 학교의 IP 주소를 사용하는 경우 어떻게해야합니까? 어떤 포트 번호를 사용해야하는지 어떻게 알 수 있습니까? 내 클라이언트와 서버의 포트 번호가 동일해야합니까?UNIX 서버에서 C로 클라이언트/서버 프로그램 작성
답변
- 보통
AF_INET
을 사용하고 나중에 둘 이상의 컴퓨터간에 통신 할 수 있습니다. 127.0.0.1
; 이것은 "이 컴퓨터"를 의미합니다.- 포트 번호를 만들어 두 포트 모두에 사용하십시오. 일반적으로 1024에서 65536 사이의 것을 선택해야합니다.
에서 찾을 수 있습니다.이 경우 "이 컴퓨터"는 학교의 컴퓨터 (즉 모든 컴퓨터가 실행되는 컴퓨터)입니다. –
도움 주셔서 감사합니다. 나는 지금 일하는 코드를 가지고있다. –
프로그램이 학교 컴퓨터에서 실행 중이므로 해당 IP 주소를 사용해야합니다.
/usr/sbin/ifconfig -a 명령을 사용하여 찾을 수 있습니다 (inet 주소). 그러나 두 로그인이 동일한 실제 컴퓨터 (예 : 항상 그렇지는 않은 학교)에있는 경우 127.0.0.1을 사용할 수 있습니다.
원하는 포트 번호를 사용할 수 있지만 일부 서비스에서는 낮은 포트 번호가 기본값이므로 4 자리와 같이 높은 포트 번호를 선택하십시오.
클라이언트와 서버의 포트 번호가 동일 할 필요는 없지만 동일한 경우 포트 번호를 기억하는 것이 더 쉽습니다.
도움 주셔서 감사합니다. 나는 지금 일하는 코드를 가지고있다. –
많은 예제를 보려면 here을 참조하십시오. 당신이 이해해야 할 몇 가지 물건이있다 :
- TCP, UDP 및 그들 사이의 차이는 소켓 무엇
- , 소켓 (스트림, 데이터 그램, 연속 패킷)
- 소켓 API의 종류 - BSD, POSIX, WinSock (Windows 용 프로그램을 계획하는 경우)
도움 주셔서 감사합니다. 나는 지금 일하는 코드를 가지고있다. –
- 1. 리눅스에서 프로그램 실행하기 (C로 작성)
- 2. 마이크로 컨트롤러 용 C로 응용 프로그램 작성
- 3. Python에서 C로 코드 변환기를 작성 하시겠습니까?
- 4. 타일링 된 이미지로 채워진 다각형을 C로 작성 #
- 5. 원격 서버에서 명령을 실행하는 UNIX ssh 스크립트
- 6. 스레드 안전 UNIX 코드 작성 팁?
- 7. Unix/Linux에서 프로그램 구성 데이터
- 8. 서버에서 응용 프로그램 호출
- 9. 서버에서 프로그램 실행
- 10. 유닉스 및 윈도우 용 응용 프로그램 작성
- 11. iSeries와 같은 프로그램 작성
- 12. Blackberry 응용 프로그램 작성
- 13. matlab에 LZW 프로그램 작성
- 14. netstat와 같은 프로그램 작성
- 15. 크로스 플랫폼 프로그램 작성
- 16. 간단한 ofx4j 프로그램 작성
- 17. 디렉토리를 재귀 적으로 나열하는 Unix C 프로그램
- 18. Nginx 서버에서 구성 문제 다시 작성
- 19. C로 작성된 Linux TCP/IP 서버에서 Ctrl-C 처리
- 20. .dat 파일에 데이터 값 목록을 써서 GNUplot (C로 작성)
- 21. UNIX 서버에서 Windows 인증을 사용하여 SQL Server 데이터베이스에 연결
- 22. ASP.Net 응용 프로그램 서버에서 인쇄
- 23. 웹을 통한 서버에서 프로그램 시작
- 24. Visual Studio에서 Unix API로 C/C++을 작성 하시겠습니까?
- 25. 소켓 서버 응용 프로그램 작성
- 26. 포럼을 긁어 모으는 프로그램 작성
- 27. 기능이없는 언어로 기능 프로그램 작성
- 28. iPad 용 응용 프로그램 작성
- 29. Unix/C의 데이터베이스 독립성
- 30. C로 iDevice와 통신 하시겠습니까?
문제가 해결되면 (이 것으로 보이는) 다음을 클릭하여 가장 많이 도움이 된 대답을 '허용'이라고 표시하십시오. 그 대답 옆의 명확한 진드기에. 그것은 미래에 비슷한 문제가있는 사람에게 지표 역할을합니다. 자세한 정보는 http://stackoverflow.com/faq – forsvarir