网络编程中getsockname()和getpeername()的用法"/>
Python网络编程中getsockname()和getpeername()的用法
在socket的tcp通信中,getsockname()和getpeername()函数用来获取本机和对端的IP地址和对端口号。
1 使用时机
在Python中套接字实现服务端和客户端3-3-CSDN博客中提到,客户端调用connect()函数去连接服务端。当连接成功后,可以通过套接字调用getsockname()和getpeername()函数获取本机和对端的IP地址和端口号。
2 相关代码
相关代码如图1所示。
图1 相关代码
从图1中可以看出,在成功连接了服务端之后,就可以通过上述两个函数获取相关信息了。s是用于连接服务端的套接字。
3 运行效果
代码的运行效果如图2所示。
图2 代码运行效果
从图2中可以看出,本机(客户端)的IP地址是192.168.147.129,所使用的端口号是49175;而对端(服务端)的IP地址是192.168.147.128,所使用的端口号是12345。
以上方法得到的网络连接信息与在本机(客户端)中查看网络连接信息相对应。
图3 网络连接信息
注意1 getsockname()和getpeername()函数在服务端中使用时,可以放在accept()函数之后。此时,getsockname()函数可以获取本机(服务端)IP地址和端口号,但是getpeername()函数无法获取对端(客户端)的IP地址和端口号。
更多推荐
Python网络编程中getsockname()和getpeername()的用法
发布评论