一、目的
在局域网里用python搭建一个简易的socket服务器,让该局域网里的其他客户端连接。
二、问题核心
获取该服务器在局域网里的ip,因为如果获取的是公网的ip,那么同局域网里的其他机器不能连接。
三、解决办法
前提是导入socket模块
获取主机名称:socket.gethostname()
然后有两个方法:
3.1 socket.gethostbyname
gethostbyname(...)
gethostbyname(host) -> address
Return the IP address (a string of the form '255.255.255.255') for a host.
3.2 socket.gethostbyname_ex
gethostbyname_ex(...)
gethostbyname_ex(host) -> (name, aliaslist, addresslist)
Return the true host name, a list of aliases, and a list of IP addresses,
for a host. The host argument is a string giving a host name or IP number.
四、其他
有时候用127.0.0.1代替本机地址,一般来讲这是指公网ip。