编写一个简单的客户机/服务器程序,要求当客户机向服务器发出请求时,给客户机传输 'Hello,World!”信息
时间: 2024-09-25 14:04:58 浏览: 23
编写一个简单的客户端/服务器程序通常涉及两个部分:服务器端负责接收请求并发送响应,而客户端则发起请求。这里我们以Python语言为例来展示一个基本的TCP客户端和服务器的例子:
**服务器端(server.py):**
```python
import socket
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('localhost', 12345)) # 地址和端口
server_socket.listen(1) # 等待连接
print("Server is listening...")
while True:
client_connection, address = server_socket.accept()
print(f"Connected by {address[0]}:{address[1]}")
request_data = client_connection.recv(1024).decode() # 接收数据
if request_data == "GET":
response = "Hello, World!" # 发送响应
else:
response = "Invalid request"
client_connection.sendall(response.encode()) # 发送响应数据
client_connection.close()
```
**客户端(client.py):**
```python
import socket
def send_request(host, port):
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((host, port))
message = "GET" # 发送请求
client_socket.send(message.encode())
received_message = client_socket.recv(1024).decode()
print(f"Received: {received_message}")
client_socket.close()
send_request('localhost', 12345)
```
在这个例子中,当你运行`server.py`作为服务器,它会在指定的端口(12345)上监听。当客户端(如`client.py`)连接并发送"GET"请求时,服务器会返回"Hello, World!"。