与服务器玩猜数游戏。 客户端和服务器建立套接字后,服务器向客户发送一个1~100之间的随机数,用户将自己的猜测发送给服务器,服务器向用户发送信息“猜大了”“猜小了”“猜对了”。
时间: 2023-09-27 12:06:58 浏览: 141
好的,这个问题可以用 Python 编写。首先,我们需要导入 socket 模块来建立套接字连接。下面是服务器端和客户端的代码:
**服务器端**
```python
import socket
import random
# 创建套接字对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定主机和端口号
server_socket.bind(('localhost', 8000))
# 监听客户端连接请求
server_socket.listen(1)
# 生成随机数
rand_num = random.randint(1, 100)
# 接受客户端连接请求
client_socket, client_address = server_socket.accept()
# 向客户端发送随机数
client_socket.send(str(rand_num).encode())
# 循环接收客户端猜测
while True:
guess = int(client_socket.recv(1024).decode())
if guess > rand_num:
client_socket.send('猜大了'.encode())
elif guess < rand_num:
client_socket.send('猜小了'.encode())
else:
client_socket.send('猜对了'.encode())
break
# 关闭套接字连接
client_socket.close()
server_socket.close()
```
**客户端**
```python
import socket
# 创建套接字对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect(('localhost', 8000))
# 接收服务器发送的随机数
rand_num = int(client_socket.recv(1024).decode())
# 循环猜测随机数
while True:
guess = int(input('请输入您的猜测:'))
client_socket.send(str(guess).encode())
result = client_socket.recv(1024).decode()
print(result)
if result == '猜对了':
break
# 关闭套接字连接
client_socket.close()
```
这样,当客户端连接到服务器后,服务器会生成一个1~100之间的随机数,并将其发送给客户端。然后,客户端可以通过输入自己的猜测来与服务器进行交互,直到猜对为止。
阅读全文