sockaddr_in函数怎么使用
时间: 2024-02-03 18:12:41 浏览: 68
VB-API.rar_API_api vb versionEx_vb api_vb api sockaddr_in
sockaddr_in 是用于表示 IPv4 地址和端口号的结构体。它通常用于 Socket 编程中。
下面是一个示例代码,展示如何使用 sockaddr_in 结构体:
```c++
#include <iostream>
#include <cstring>
#include <arpa/inet.h>
int main() {
struct sockaddr_in server_address;
std::memset(&server_address, 0, sizeof(server_address));
server_address.sin_family = AF_INET;
server_address.sin_port = htons(8888);
inet_pton(AF_INET, "127.0.0.1", &server_address.sin_addr);
std::cout << "Server address: " << inet_ntoa(server_address.sin_addr) << std::endl;
std::cout << "Server port: " << ntohs(server_address.sin_port) << std::endl;
return 0;
}
```
在上面的示例中,我们首先声明了一个 sockaddr_in 结构体变量 server_address。然后,我们使用 std::memset 函数将该结构体变量的所有成员初始化为 0。
接着,我们设置该结构体变量的成员:sin_family 设置为 AF_INET,表示 IPv4;sin_port 设置为 htons(8888),表示端口号为 8888;sin_addr 使用 inet_pton 函数将 IP 地址 "127.0.0.1" 转换为二进制格式,并存储在 sin_addr 成员中。
最后,我们使用 inet_ntoa 和 ntohs 函数将二进制格式的 IP 地址和端口号分别转换为字符串格式,并输出到控制台上。
阅读全文