- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我试图了解如何通过套接字连接互联网。(但我卡住了。段错误的原因。)我不明白为什么这段代码会出现段错误:S 你能帮帮我吗。
int main()
{
int status;
WSADATA wsa;
struct addrinfo hints ,*servinfo;
struct sockaddr_in *servSock;
char *ip4;
/**initialization*/
WSAStartup(MAKEWORD(2 ,0) ,&wsa);
memset((void *)&hints ,NULL ,sizeof(hints));
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE;
ip4 = (char *)malloc(sizeof(char)*INET_ADDRSTRLEN);
/**End of initialization*/
status = getaddrinfo("www.google.com",DEF_PORT,&hints,&servinfo);
checkErr("serv info" ,status ,0 ,equal ,gai_strerror);
servSock = (struct sockaddr_in *)(servinfo->ai_addr);
status = inet_ntop(AF_INET ,&(servSock->sin_addr) ,ip4,INET_ADDRSTRLEN);
checkErr("ntop" ,status ,NULL ,nEqual ,gai_strerror);
printf("IPv4 : %s",ip4);
free(ip4);
WSACleanup();
}
代码在 inet_ntop 行爆炸(我知道为什么,因为我是菜鸟 ^^ )
最佳答案
你能检查 &(servSock->sin_addr) 是否有效吗?
关于c - inet_ntop 函数段错误(可能是转换错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18496890/
我正在尝试从 inet_ntop 打印一个 ip 地址,但输出似乎很奇怪。 该程序似乎运行良好,我成功连接了套接字,但它打印了以下内容: H��H9�u�H�[]A\A]A^A_�ff.� 这是我的代
我有问题。我有代码需要将域名转换为IP。为此,我使用函数 getaddrinfo()。但似乎当我调用另一个函数(在 GETADDRINFO() 之后)时,我的程序崩溃了(getaddrinfo 返回错
我正在使用 C 构建 TCP 服务器:我包含了 inet_ntop() 函数所在的库 (WS2tcpip.h),但我的编译器返回以下错误: 'inet_ntop' was not declared i
#include #include #include "stdio.h" int main(int argc, wchar_t *argv[]) { //init Windows Sock
首先,我的代码示例: cout ai_addr)->sin_addr , ip4, INET_ADDRSTRLEN)) { return ERROR_PAR; } cout #include
请帮助我!我需要将域名(例如 google.com)翻译(或转换)为 IP 地址。为此,我在网上找到了代码,它工作得很好,但我不明白,为什么调用函数 inet_ntop() 两次。请帮我。这是代码:
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我曾经认为 inet_ntop 的第二个参数应该始终是 struct in_addr 或 struct in6_addr。但后来我查了一下 POSIX definition : const char
我试图了解如何通过套接字连接互联网。(但我卡住了。段错误的原因。)我不明白为什么这段代码会出现段错误:S 你能帮帮我吗。 int main() { int status; WSADAT
如何将函数 inet_ntop (const char *) 的返回值转换为 string? 代码: string ip = inet_ntop(b->ifa_addr->sa_family,temp
#include char buf[INET6_ADDRSTRLEN] = {}; int af = AF_INET; unsigned char addr[4] = {0x7f, 0x0, 0x0
在 Rust 中是否有现成的方法将 ip 地址(v4 和 v6)从二进制格式转换为文本格式(相当于 inet_ntop)? 例子: "3701A8C0" 转换为 "55.1.168.192", "20
我似乎从 inet_ntop 取回了错误的 IPv6 字符串,尤其是在它试图丢弃零序列以支持“::”的地址时。 这是代码; #include #include #include int main
您好,我创建了一个函数,该函数将接受的 sockFD 作为输入,并将表示形式的 ip 地址输出为字符串。该函数似乎工作正常,直到我开始使用 inet_ntop 的调用来打包字符串,该调用返回一个空指针
我正在创建一个 UDP 服务器客户端程序。客户端请求文件,服务器如果找到则将其发送给客户端。基于 Beej 的网络指南, inet_ntoa() returns the dots-and-number
我正在尝试根据此处给出的教程用 C++ 创建一个基本的网络服务器: https://vichargrave.github.io/articles/2013-02/tcp-ip-network-prog
我正在尝试将 sockaddr_storage 转换为 sockadd_in,这样我就可以打印出数据报包的源 IP 地址,我似乎无法获得正确的类型转换, struct sockaddr_storage
这是一个相当基本的问题,令我惊讶的是,我今天遇到了一个问题。 在我看来,inet_pton 和 inet_ntoa 正在反转它们给定的 IP 地址的字节: DWORD IP; inet_pton(AF
我正在 Linux 上开发一个应用程序。 Linux执行命令: ifconfig eth0 192.168.10.15 netmask 255.255.255.0 在使用 systemd 的引导过程中
我在 Windows XP 上收到错误“程序入口点 inet_ntop 无法位于动态链接库 WS2_32.dll 中”,经过一番谷歌搜索后,我发现 inet_ntop 在 XP 中不可用,所以我制作了
我是一名优秀的程序员,十分优秀!