2016-11-11 1 views
0

방금 ​​winsock을 사용하기 시작했습니다. 시스템의 다른 컴퓨터에서 오는 외부 연결을 수락하는 대신 기본적으로 로컬 컴퓨터에 서버를 만드는 것처럼 보입니다. Python에서 socket.bind(("192.168.0.112", 1024)) (예 : "localhost")의 C++ 코드를 찾고 있는데winsock을 사용하여 호스트 이름을 설정합니까?

답변

1

localhost와 원격 주소 모두에서 연결을 수락하는 데 가장 일반적으로 필요한 모든 어댑터에 바인딩하려면 다음을 수행하십시오. 당신이해야 할 모든 것 :

sock = socket(AF_INET, SOCK_STREAM, 0); // SOCK_STREAM==TCP. Use SOCK_DGRAM if you want UDP 

sockaddr_in addr = {};   // ={} is zero-init. Since INADDR_ANY is 0, it implicitly sets this as well 
addr.sin_family = AF_INET; 
addr.sin_port = htons(1024); // port 1024 in network byte order 

int result = bind(sock, (sockaddr*)&addr, sizeof(addr)); 
관련 문제