用 python 写一个 摇号小程序包含一个客户端一个服务器
时间: 2024-10-25 20:15:11 浏览: 11
在Python中编写摇号小程序通常涉及到网络通信,可以使用socket库来创建一个简单的服务器端和客户端程序。这里是一个简化的示例:
首先,我们需要创建一个服务器端,它会监听连接请求并处理摇号操作:
```python
import socket
import random
# 创建一个TCP服务器
def server():
host = 'localhost'
port = 12345
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((host, port))
server_socket.listen(1)
print(f'Server is running on {host}:{port}')
while True:
client_socket, address = server_socket.accept()
request = client_socket.recv(1024).decode('utf-8')
if request == "start":
num_of_tickets = int(input("Enter number of tickets to draw: "))
winning_numbers = random.sample(range(1, 101), num_of_tickets)
client_socket.send(str(winning_numbers).encode('utf-8'))
print(f"Winning numbers: {winning_numbers}")
else:
client_socket.close()
if __name__ == "__main__":
server()
```
接下来,我们创建一个客户端,它可以向服务器发送请求并接收结果:
```python
import socket
def client(host, port):
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((host, port))
# 客户端发送请求
client_socket.send(b'start')
# 接收并显示结果
data = client_socket.recv(1024).decode('utf-8')
print(f"Winning numbers from server: {data}")
if __name__ == "__main__":
client('localhost', 12345)
```
运行这个例子时,先启动服务器(`python server.py`),然后启动客户端(`python client.py`)。请注意,这只是一个基础的示例,并未涉及错误处理和持久化连接等问题。在实际应用中,你可能需要添加更多的功能以及优化。
阅读全文