编写一个简单的客户机/服务器程序,要求当客户机向服务器发出请求时,给客户机传输Hello, World!”信息。
时间: 2024-09-13 08:08:55 浏览: 23
编写一个简单的客户端/服务器程序通常涉及两个部分:服务器端和客户端。这里是一个使用Python编写的简易示例:
**服务器端(server.py):**
```python
import socket
# 创建一个TCP/IP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('localhost', 12345)) # 地址和端口
server_socket.listen(1) # 监听连接
print("Server is running...")
while True:
client_connection, client_address = server_socket.accept()
print(f"Accepted connection from {client_address[0]}:{client_address[1]}")
request_data = client_connection.recv(1024).decode() # 接收客户端的数据
if request_data == "GET":
response = "Hello, World!" # 如果请求数据为GET,发送回"Hello, World!"
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" # 发送一个GET请求
client_socket.sendall(message.encode())
received_message = client_socket.recv(1024).decode()
print(f"Received: {received_message}")
client_socket.close()
send_request('localhost', 12345) # 调用函数,向服务器发送请求
```
在这个例子中,当你运行客户端并输入`send_request('localhost', 12345)`时,它会向服务器的指定地址和端口发送一个GET请求,如果服务器返回的是"Hello, World!",客户端就会打印出这个消息。