신속하게 네트워크 코드를 작성하려고 노력하고 있습니다. 유형 검사가 적합합니다.신속하게 sockaddr_in을 sockaddr에 캐스팅하는 방법
var sock: CInt = ...
var rin: sockaddr_in
var rlen = socklen_t(sizeof(sockaddr_in))
var buffer: CChar[] = CChar[](count: 128, repeatedValue: 0)
let len = recvfrom(sock, &buffer, 128, 0, &rin, &rlen)
는 컴파일러는 &rin
이 sockaddr_in
대신 sockaddr
에 대한 포인터라는 사실에 대한 recvfrom
에 (매우 비밀스럽게)를 뿌려줍니다. 포인터 유형을 변환하는 다양한 방법을 시도했지만이 권리를 얻을 수 없습니다.
내가 이것을 sockaddr
이라고 선언하면 이것을 컴파일 할 수는 있지만 sockaddr_in
으로 볼 수는 없습니다.