我有2个系统。我在两个系统上运行ifconfig。我通过wifi从移动热点访问互联网。我粘贴了两者的ifconfig输出。我猜两者的IP都是127.0.0.1(虽然我使用的是2种不同的手机)。我需要使用tcp / ip套接字在它们之间进行通信。请确认一下。如果我能得到一个c程序来找到自己的IP地址,那就更好了。如果两个IP相同,则需要更改其IP地址。为什么两台设备的IP相同?他们如何访问互联网?我的目标设备将是2个带有SIM卡的嵌入式设备,使用gprs进行套接字通信。
System1->
enp2s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 2c:56:dc:29:7f:66 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
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 233 bytes 15817 (15.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 233 bytes 15817 (15.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.43.26 netmask 255.255.255.0 broadcast 192.168.43.255
inet6 2405:204:f184:563e:e0f8:7b7e:3ea4:244b prefixlen 64 scopeid 0x0<global>
inet6 fe80::e9a9:9f55:2fd4:2255 prefixlen 64 scopeid 0x20<link>
inet6 2405:204:f184:563e:f2da:16c6:1bd5:15ee prefixlen 64 scopeid 0x0<global>
ether 80:a5:89:3d:85:3b txqueuelen 1000 (Ethernet)
RX packets 403 bytes 307722 (307.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 945 bytes 134915 (134.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
系统2-&gt;
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:289 errors:0 dropped:0 overruns:0 frame:0
TX packets:289 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:26628 (26.6 KB) TX bytes:26628 (26.6 KB)
wlan0 Link encap:Ethernet HWaddr e4:02:9b:84:a4:72
inet addr:192.168.43.217 Bcast:192.168.43.255 Mask:255.255.255.0
inet6 addr: 2405:204:f184:563e:5d6b:9906:ff66:ab2c/64 Scope:Global
inet6 addr: 2405:204:f184:563e:e602:9bff:fe84:a472/64 Scope:Global
inet6 addr: fe80::e602:9bff:fe84:a472/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1659 errors:0 dropped:0 overruns:0 frame:0
TX packets:964 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:545249 (545.2 KB) TX bytes:179680 (179.6 KB)
答案 0 :(得分:0)
首先,127.0.0.1
是设备loopback
地址,每个拥有网卡的设备都会拥有此地址。
现在根据你想要实现的目标我需要使用tcp / ip套接字在两者之间进行通信。如果您使用移动热点作为路由器,请确保两个设备都连接到一个热点,因此它们都在一个网络上,而不是两个不同的网络。
然后确保设备的防火墙允许您要使用的tcp端口上的入站/出站流量,并且您应该能够在两个设备之间进行通信。
使用连接到两个不同移动热点的设备(这被认为是两个不同的网络)将无法实现,因为移动电话没有可以添加端口转发规则的功能,允许来自互联网的流量,如路由器。