가능한 중복은 :
What client-side situations need bind()?어떤 경우에 bind()를 호출해야합니까?
나는 포트에 바인딩 서버 프로그램을 보았다. 클라이언트 프로그램에서 이것이 필요하지 않은 이유는 무엇입니까? 모든 클라이언트 프로그램도 데이터를 송수신합니다.
어쨌든 bind()를 호출해야하는 경우가 있습니까? 그리고 W-H-Y?
가능한 중복은 :
What client-side situations need bind()?어떤 경우에 bind()를 호출해야합니까?
나는 포트에 바인딩 서버 프로그램을 보았다. 클라이언트 프로그램에서 이것이 필요하지 않은 이유는 무엇입니까? 모든 클라이언트 프로그램도 데이터를 송수신합니다.
어쨌든 bind()를 호출해야하는 경우가 있습니까? 그리고 W-H-Y?
왜 클라이언트 프로그램에는 필요하지 않습니까?
소켓을 연결할 때 자동으로 발생하기 때문입니다. 일반적으로 클라이언트 소프트웨어에서 사용하는 로컬 아웃 바운드 포트는 신경 쓰지 않습니다. 실제로 netadmin이 실수로 아웃 바운드 포트 번호 지정 규칙을 구현 한 경우에만 문제가 발생하고 아무 것도 해결하지 못하는 경우가 있습니다.
당신은 서버 소켓 관계없이 소켓 제품군의 바인딩을 수행해야합니다.
클라이언트 소켓에 따라 다릅니다. AF_INET 기본 스택 유형 (TCP)은 클라이언트 소켓에 대한 바인딩을 수행합니다. 그러나 의 경우 AF_UNIX 소켓 클라이언트 유형은 코드와의 바인딩을 수행해야합니다. 따라서 클라이언트 소켓의 경우 소켓 패밀리 유형에 따라 다릅니다. (포트 번호를 통해)이 (IP를 통해) 호스트의 주소를 알고 클라이언트를 가능하게하고, 서버의 처리 :
TCP 서버 소켓을 위해 당신은 및 포트 번호가 IP를 지정해야합니다 서버 소켓 후
는없이 클라이언트/서버 응용 프로그램을 만들 수 있도록 새로운 소켓하여 클라이언트 사이의 클라이언트는 새로운 소켓을 생성하는 클라이언트에서 새 연결 전용, 서버 미분을 받아 클라이언트 소켓을 포트 번호로 바인딩
실제로 (1) 할 필요가 없습니다. 그냥 listen()을 호출하면 포트 번호가 0 인 자동 bind()가 생겨 시스템에 할당 된 포트가 생깁니다. – EJP