套接字:本地服务器端口作为.search-agent
socket: local server port as .search-agent
我是套接字编程的新手,我是 运行 服务器和客户端,示例来自 python 文档,本地
服务器:
import socket
HOST_PORT = ("127.0.0.1", 1234)
socket_obj = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket_obj.bind(HOST_PORT)
socket_obj.listen(3)
print(f"server running at {HOST_PORT}")
while True:
client_soc, addr = socket_obj.accept()
print(f"client: {addr}")
client_soc.send(b"hell0 from server")
客户:
import socket
SERVER_HOST_PORT = ("127.0.0.1", 1234)
socket_obj = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket_obj.connect(SERVER_HOST_PORT)
#data = socket_obj.recv(1024)
while True:
data = socket_obj.recv(10)
print(f"got data from server: {data}")
我试图通过 netstat
找出客户端和服务器套接字的详细信息
客户端地址显示为 localhost.58724
,这是正确的,但服务器显示为 localhost.search-agent
(端口 1234
上的 运行)
为什么来的是.search-agent
而不是服务器的端口号(1234)
---> UPDATE(按端口查找进程)
$ lsof -i tcp:1234
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Python 3013 naveen 3u IPv4 0xff691590c7ecdff 0t0 TCP localhost:search-agent (LISTEN)
我能够在 macOS 11.4 上重现这个,发生这种情况的原因是,至少在 Linux 和 macOS 上,search-agent
是端口 [=11 的符号名称=],也就是通常在这些系统上使用该端口的进程。
运行 netcat
和 -n
以显示实际数字而不是符号名称,例如127.0.0.1:1234
而不是 localhost:search-agent
.
我是套接字编程的新手,我是 运行 服务器和客户端,示例来自 python 文档,本地
服务器:
import socket
HOST_PORT = ("127.0.0.1", 1234)
socket_obj = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket_obj.bind(HOST_PORT)
socket_obj.listen(3)
print(f"server running at {HOST_PORT}")
while True:
client_soc, addr = socket_obj.accept()
print(f"client: {addr}")
client_soc.send(b"hell0 from server")
客户:
import socket
SERVER_HOST_PORT = ("127.0.0.1", 1234)
socket_obj = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket_obj.connect(SERVER_HOST_PORT)
#data = socket_obj.recv(1024)
while True:
data = socket_obj.recv(10)
print(f"got data from server: {data}")
我试图通过 netstat
找出客户端和服务器套接字的详细信息客户端地址显示为 localhost.58724
,这是正确的,但服务器显示为 localhost.search-agent
(端口 1234
上的 运行)
为什么来的是.search-agent
而不是服务器的端口号(1234)
---> UPDATE(按端口查找进程)
$ lsof -i tcp:1234
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Python 3013 naveen 3u IPv4 0xff691590c7ecdff 0t0 TCP localhost:search-agent (LISTEN)
我能够在 macOS 11.4 上重现这个,发生这种情况的原因是,至少在 Linux 和 macOS 上,search-agent
是端口 [=11 的符号名称=],也就是通常在这些系统上使用该端口的进程。
运行 netcat
和 -n
以显示实际数字而不是符号名称,例如127.0.0.1:1234
而不是 localhost:search-agent
.