Python socket.bind()与socket.listen()的比较
我已经学会了如何编写python服务器,并且发现我的知识中有一个漏洞。 因此,我很高兴了解更多关于socket模块的命令Python socket.bind()与socket.listen()的比较,python,sockets,Python,Sockets,我已经学会了如何编写python服务器,并且发现我的知识中有一个漏洞。 因此,我很高兴了解更多关于socket模块的命令bind(),listen()之间的区别 此外,当我使用带有特定端口的bind()作为参数时,在使用listen()方法之前,特定端口是否已经在使用中 谢谢,祝你度过愉快的一天我找到了一个详细说明: 。。。bind()用于将套接字与服务器地址关联 调用listen()将套接字置于服务器模式,accept()等待传入连接 listen()是服务器套接字与客户端的区别 调用bin
bind()
,listen()
之间的区别
此外,当我使用带有特定端口的bind()
作为参数时,在使用listen()
方法之前,特定端口是否已经在使用中
谢谢,祝你度过愉快的一天我找到了一个详细说明:
。。。bind()用于将套接字与服务器地址关联
调用listen()将套接字置于服务器模式,accept()等待传入连接
listen()
是服务器套接字与客户端的区别
调用
bind()
后,端口现在被保留,并且在程序结束或在套接字上调用close()
方法之前不能再次使用
证明这一点的测试程序如下所示:
import socket
import time
HOST = '127.0.0.1'
PORT = 65432
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
while 1:
time.sleep(1)
同时运行此程序的两个实例时,您可以看到最后启动的实例出现错误:
这证明在调用
listen()!本教程确实提高了我的理解,但我还不知道绑定ip+端口时是否使用了特定的端口。我更新了答案,提供了有关bind()如何保留端口的更多信息