Python实现的简单网络服务器程序示例
发布时间:2023-12-04 21:40:06
下面是一个简单的Python网络服务器程序示例:
import socket
def server_program():
# 获取本地主机名
host = socket.gethostname()
port = 5000 # 设置端口号
# 创建套接字对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定主机名和端口号
server_socket.bind((host, port))
# 设置最大连接数
server_socket.listen(2)
# 接收客户端连接
client_socket, client_address = server_socket.accept()
print('连接地址:', client_address)
while True:
# 接收数据
data = client_socket.recv(1024).decode()
if not data:
# 如果没有数据则退出循环
break
print('接收到的数据:', data)
# 发送响应数据
client_socket.send('服务端已收到你的消息'.encode())
# 关闭连接
client_socket.close()
if __name__ == '__main__':
server_program()
这个程序创建了一个网络服务器,监听本地主机的5000端口。它接受客户端的连接,并接收客户端发来的消息,然后发送一个简单的响应。运行这个程序后,你可以使用以下代码作为客户端来测试服务器:
import socket
def client_program():
# 获取主机名和端口号
host = socket.gethostname()
port = 5000
# 创建套接字对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect((host, port))
message = input('请输入要发送的消息:')
while message.lower().strip() != 'bye':
# 发送消息
client_socket.send(message.encode())
# 接收响应
data = client_socket.recv(1024).decode()
print('接收到的数据:', data)
message = input('请输入要发送的消息:')
# 关闭连接
client_socket.close()
if __name__ == '__main__':
client_program()
这个客户端程序连接到服务器,并允许用户输入要发送的消息。它将消息发送给服务器,然后等待服务器的响应。当用户输入“bye”时,客户端程序将关闭连接。
你可以先运行服务器程序,然后再运行客户端程序。在客户端程序的命令行界面中输入消息后,你将在服务器的命令行界面中看到消息。服务器会向客户端发送一个响应,响应是在客户端的命令行界面中显示的。
