lo
在 Linux 系统中代表的是 "loopback"(回环)接口,也叫做本地回环接口或者localhost。这是一个虚拟的网络接口,用于网络软件测试以及本地机器进程之间的通信。
127.0.0.1
(IPv4)或 ::1
(IPv6),用于指向本机。127.0.0.1
。::1
。127.0.0.1
,用于本地测试。可能原因:
127.0.0.1
或 localhost
。解决方法:
可能原因:
解决方法:
ifconfig
或 ip addr
命令检查 loopback 接口的配置是否正确。127.0.0.1
或 ::1
这两个 IP 地址。以下是一个简单的 Python 示例,展示如何使用 loopback 接口进行本地通信:
import socket
# 创建一个 TCP/IP 套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定套接字到本地地址和端口
server_address = ('127.0.0.1', 10000)
print('starting up on {} port {}'.format(*server_address), file=sys.stderr)
sock.bind(server_address)
# 监听传入连接
sock.listen(1)
while True:
# 等待连接
print('waiting for a connection', file=sys.stderr)
connection, client_address = sock.accept()
try:
print('connection from', client_address, file=sys.stderr)
# 接收数据
while True:
data = connection.recv(16)
print('received {!r}'.format(data), file=sys.stderr)
if data:
print('sending data back to the client', file=sys.stderr)
connection.sendall(data)
else:
# 没有数据,断开连接
break
finally:
# 清理连接
connection.close()
客户端代码:
import socket
# 创建一个 TCP/IP 套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接到服务器
server_address = ('127.0.0.1', 10000)
print('connecting to {} port {}'.format(*server_address), file=sys.stderr)
sock.connect(server_address)
try:
# 发送数据
message = 'This is the message. It will be sent in multiple parts.'
print('sending {!r}'.format(message), file=sys.stderr)
sock.sendall(message)
# 接收响应
amount_received = 0
amount_expected = len(message)
while amount_received < amount_expected:
data = sock.recv(16)
amount_received += len(data)
print('received {!r}'.format(data), file=sys.stderr)
finally:
print('closing socket', file=sys.stderr)
sock.close()
这段代码展示了如何使用 loopback 接口在本地进行简单的 TCP 通信。
领取专属 10元无门槛券
手把手带您无忧上云