首先需要明白,socket需要bind和connect。
谁bind,服务器bind,bind什么,本地ip和端口。
谁connect,客户端connect,connect什么,服务器的ip和服务器的端口。
明白这个,再理解什么是localhost,和*。
localhost,一般是127.0.0.1,即本地主机的地址,这跟本地的ipv4地址不一样。
*,是代表本地的所有ip地址。
所以,socket.bind("tcp://*:5411"),其中的*可以代表本地的所有ip接口。
而在本地上,socket.connect("tcp://localhost:5411"),是可以与服务端通信的,因为*包含了localhost。
如果是跨设备,客户端就必须指定服务器的ip,服务端可以用*来指代服务器的ip。