给我一个关于套接字的点餐交互系统的代码
时间: 2024-02-27 20:56:37 浏览: 18
好的,这里给您提供一个简单的套接字点餐交互系统的代码示例,供参考:
服务端代码(server.py):
```python
import socket
# 创建套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定监听地址
server_socket.bind(('127.0.0.1', 8888))
# 开始监听
server_socket.listen()
print('服务端已启动,等待客户端连接...')
while True:
# 接受客户端连接
client_socket, client_addr = server_socket.accept()
# 接收客户端发送的数据
data = client_socket.recv(1024).decode('utf-8')
# 处理客户端请求
if data == 'menu':
# 返回菜单列表
menu = ['鸡肉卷饼', '牛肉拉面', '糖醋排骨饭']
response = '\n'.join(menu)
elif data == 'order':
# 接收客户端发送的订单
order = client_socket.recv(1024).decode('utf-8')
response = '您的订单已接收:{}'.format(order)
else:
response = '无效的请求!'
# 发送响应数据
client_socket.send(response.encode('utf-8'))
# 关闭套接字
client_socket.close()
```
客户端代码(client.py):
```python
import socket
# 创建套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect(('127.0.0.1', 8888))
# 发送请求
request = input('请输入您的请求(menu/order):')
client_socket.send(request.encode('utf-8'))
# 接收响应
response = client_socket.recv(1024).decode('utf-8')
print('服务器响应:', response)
# 如果是订单请求,继续发送订单信息
if request == 'order':
order = input('请输入您的订单:')
client_socket.send(order.encode('utf-8'))
response = client_socket.recv(1024).decode('utf-8')
print('服务器响应:', response)
# 关闭套接字
client_socket.close()
```
以上代码仅供参考,实际使用时需要根据具体需求进行修改和完善。