import socket
# 创建 socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名和端口号
host = socket.gethostname()
port = 9999
# 绑定端口号
server_socket.bind((host, port))
# 设置监听队列,指定最多可以连接多少个客户端
server_socket.listen(5)
while True:
# 建立客户端连接
client_socket, addr = server_socket.accept()
print('连接地址:', addr)
# 向客户端发送消息
msg = '欢迎访问服务器!' + "\r\n"
client_socket.send(msg.encode('utf-8'))
# 关闭连接
client_socket.close()
解释一下这段代码:
- 首先通过
socket.socket()
方法创建了一个 socket 对象,并指定使用 IPv4 地址族和 TCP 协议; - 通过
socket.gethostname()
方法获取本机主机名,并将端口号设置为 9999; - 使用
socket.bind()
方法将服务器套接字绑定到指定的主机名和端口号; - 使用
socket.listen()
方法启动 TCP 监听,设置最大连接数为 5; - 进入一个无限循环,使用
socket.accept()
方法等待客户端连接请求; - 客户端连接成功后,向客户端发送欢迎消息;
- 最后关闭连接。
可以在终端或命令行中运行此代码,然后使用 telnet 或其他工具连接到服务器地址和端口号进行测试。