编写一个简单的客户机/服务器程序,要求当客户机向服务器发送请求时,给客户机传输Hello world!信息
时间: 2024-09-14 17:15:54 浏览: 75
在编写一个简单的客户端/服务器程序时,我们通常会使用网络编程技术,比如TCP/IP协议,通过套接字(socket)来进行通信。这里以Python语言为例,展示一个基础的TCP客户端和服务器的结构:
### 服务器端(server.py)
```python
import socket
# 创建一个TCP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('localhost', 12345)) # 地址和端口
server_socket.listen(1) # 等待连接
while True:
client_connection, client_address = server_socket.accept() # 接受连接
print(f"Connected by {client_address[0]}:{client_address[1]}")
request_data = client_connection.recv(1024) # 接收数据
if request_data.decode('utf-8') == 'Hello':
response = "Hello world!".encode('utf-8') # 发送回复
client_connection.send(response)
client_connection.close() # 关闭连接
```
### 客户端(client.py)
```python
import socket
def send_hello(host, port):
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect((host, port))
message = "Hello".encode('utf-8') # 发送请求
client_socket.sendall(message)
response = client_socket.recv(1024).decode('utf-8')
print("Received:", response)
client_socket.close()
send_hello('localhost', 12345) # 调用函数,替换为你服务器的实际IP地址和端口号
```
在这个例子中,当你运行服务器端程序时,它会在指定端口监听连接。客户端向服务器发送“Hello”消息,如果匹配,服务器将返回“Hello world!”。
阅读全文