Transmitir para ponteiro inseguro de estrutura C diferente no Swift
Quero chamar as funções de soquete Posixsocket
ebind
de Swift.socket
é bem fácil - é precisoInt32
s, masbind
está causando um problema, porque eu tenho umsockaddr_in
ponteiro, mas quer umsockaddr
ponteiro. Em C, isso seria um elenco, como:
bind(sock, (struct sockaddr *)&sockAddress, sizeof(sockAddress))
Aqui está uma tentativa no Swift:
let sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)
var sockAddress = sockaddr_in()
bind(sock, &sockAddress, UInt32(MemoryLayout<sockaddr_in>.size))
obind
linha falha ao compilar com:não é possível converter o valor do tipo 'sockaddr_in' no tipo de argumento esperado 'sockaddr'
Como faço para lançar o ponteiro?