sockaddr_in是用于IPv4地址的結構體,常用于socket編程中。以下是sockaddr_in的使用方法:
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
struct sockaddr_in sa;
sa.sin_family = AF_INET;
sa.sin_port = htons(port); // 端口號需要使用htons函數轉換為網絡字節順序
sa.sin_addr.s_addr = inet_addr(ip); // IP地址需要使用inet_addr函數轉換為網絡字節順序
sockaddr_in結構體變量常用于以下函數的參數:
bind(sock, (struct sockaddr *)&sa, sizeof(sa));
connect(sock, (struct sockaddr *)&sa, sizeof(sa));
accept(sock, (struct sockaddr *)&sa, &addrlen);
sendto(sock, buffer, length, 0, (struct sockaddr *)&sa, sizeof(sa));
recvfrom(sock, buffer, length, 0, (struct sockaddr *)&sa, &addrlen);
以上是sockaddr_in在C語言中的基本使用方法,可以根據實際需求進行靈活運用。