首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从sockaddr获取IP地址

sockaddr获取IP地址的方法取决于您使用的编程语言和库。以下是一些常见编程语言的示例。

C/C++

代码语言:c
复制
#include<stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int main() {
    struct sockaddr_in sockaddr;
    sockaddr.sin_family = AF_INET;
    sockaddr.sin_addr.s_addr = inet_addr("192.168.1.1");

    char ip[INET_ADDRSTRLEN];
    inet_ntop(AF_INET, &sockaddr.sin_addr, ip, INET_ADDRSTRLEN);

    printf("IP address: %s\n", ip);
    return 0;
}

Python

代码语言:python
代码运行次数:0
复制
import socket

sockaddr = socket.inet_aton("192.168.1.1")
ip_address = socket.inet_ntoa(sockaddr)

print("IP address:", ip_address)

Java

代码语言:java
复制
import java.net.InetAddress;
import java.net.UnknownHostException;

public class Main {
    public static void main(String[] args) {
        try {
            InetAddress address = InetAddress.getByName("192.168.1.1");
            String ipAddress = address.getHostAddress();
            System.out.println("IP address: " + ipAddress);
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }
}

这些示例将从sockaddr结构中提取IP地址。请注意,这些示例仅适用于IPv4地址。对于IPv6地址,您需要使用不同的方法和数据结构。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券