gpt4 book ai didi

c - 在inet_pton 中使用什么地址?

转载 作者:行者123 更新时间:2023-12-04 18:59:38 24 4
gpt4 key购买 nike

我是 IP/TCP 的初学者,但正在阅读 Addison Wesley : UNIXNetwork ProgrammingVolume 1 ,我有以下代码:

#include "unp.h"

int main(int argc, char **argv)
{
int sockfd, n;
char recvline[MAXLINE + 1];
struct sockaddr_in servaddr;

if (argc != 2)
{
err_quit("usage: main <IPaddress>");
}

if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
err_sys("socket error");
}

bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(13);
if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0)
{
err_quit("inet_pton error for %s", argv[1]);
}

if (connect(sockfd, (SA *)&servaddr, sizeof(servaddr)) < 0)
{
err_sys("connect error");
}

while ((n = read(sockfd, recvline, MAXLINE)) > 0)
{
recvline[n] = 0;
if (fputs(recvline, stdout) == EOF)
{
err_sys("fputs error");
}
}
exit(0);
}
现在从书中,他们将其运行为
solaris % a.out 206.168.112.96
如果我查找我的地址:
user@Host:~/Desktop/bin/1$ ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 15419 bytes 1627065 (1.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 15419 bytes 1627065 (1.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.5 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 2a00:1028:8d1b:f32a:8ddb:cc89:8404:e9dc prefixlen 64 scopeid 0x0<global>
inet6 2a00:1028:8d1b:f32a:c84a:2566:28f5:81e1 prefixlen 64 scopeid 0x0<global>
inet6 fe80::2954:989:452f:c90f prefixlen 64 scopeid 0x20<link>
ether 5c:3a:45:55:ae:b5 txqueuelen 1000 (Ethernet)
RX packets 1095391 bytes 1521941184 (1.5 GB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 392567 bytes 53028207 (53.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我假设这是我的 IPv4 地址 10.0.0.5 ,所以如果我尝试运行上面的代码:
./a.out 10.0.0.5
connect error: Connection refused
我的连接被拒绝。我使用了正确的地址吗?,从书中,他们使用了以 206 开头的东西......我应该使用哪个地址将被 inet_pton 解析?

最佳答案

首先给自己一些与本地联系的东西。试试 nc -v -l 13例如,在单独的终端中运行程序之前,在端口 13 上运行 netcat 监听。抱歉,我没有足够的代表来发表评论。

关于c - 在inet_pton 中使用什么地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65055816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com