📅  最后修改于: 2023-12-03 15:05:10.753000             🧑  作者: Mango
在Python的socket编程中,serversocket.accept()是一个非常重要的函数,它可以用来接受连接并返回一个连接对象socket和连接客户端的地址。
serversocket.accept()用来监听指定端口上的连接请求。该函数会使程序阻塞,直到有客户端连接请求到来或服务器停止。
serversocket.accept()函数没有参数,它在被调用时会自动监听创建serversocket时指定的IP地址和端口号。
serversocket.accept()函数会返回一个tuple,包含两个元素:
import socket
# 创建socket
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
serversocket.bind(('127.0.0.1', 8888))
# 监听端口,等待客户端连接
serversocket.listen(1)
print('listening...')
# 接受连接,返回一个连接对象socket和客户端地址
clientsocket, address = serversocket.accept()
# 打印客户端地址
print(f'Connection from {address} has been established!')
# 发送欢迎消息给客户端
message = 'Welcome to the server!'
clientsocket.send(message.encode())
# 关闭连接
clientsocket.close()
serversocket.close()
在上面的示例中,我们首先创建一个serversocket对象,并将其绑定到IP地址127.0.0.1和端口号8888上。然后我们使用serversocket.listen()函数来监听端口,等待客户端连接。
接着,我们使用serversocket.accept()函数来接受连接并返回一个连接对象clientsocket和客户端地址address。我们使用print函数打印客户端地址,并使用clientsocket.send()函数向客户端发送一条欢迎消息。最后,我们关闭连接对象和serversocket对象。