根据TCP通信服务端的代码 完成客户端代码的输出 并测试两者通信是否正常
时间: 2024-12-22 11:17:29 浏览: 3
在TCP通信中,服务器通常会监听一个特定的端口等待客户端连接,并处理客户端发送的数据请求。客户端则负责建立连接、向服务器发送数据并接收响应。这里假设我们有简单的文本传输服务,以下是基本的服务器和客户端示例:
**服务器端(server.py):**
```python
import socket
def server():
host = 'localhost'
port = 12345
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(1)
conn, addr = s.accept()
print(f"Connected by {addr[0]}:{addr[1]}")
while True:
data = conn.recv(1024).decode('utf-8')
if not data:
break
print(f"Received: {data}")
response = "Message received!"
conn.sendall(response.encode('utf-8'))
conn.close()
if __name__ == "__main__":
server()
```
**客户端(client.py):**
```python
import socket
def client():
host = 'localhost'
port = 12345
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
message = "Hello from Client"
s.sendall(message.encode('utf-8'))
print("Sent: ", message)
received_data = s.recv(1024).decode('utf-8')
print(f"Received: {received_data}")
s.close()
if __name__ == "__main__":
client()
```
要测试它们之间的通信,首先在服务器上运行`server.py`,然后在另一个终端窗口运行`client.py`。客户端应该能够发送一条消息,服务器接收到后返回确认信息。
你可以尝试在客户端输入不同的消息并查看服务器的输出,如果服务器打印出“Message received!”并且客户端能接收到服务器的响应,那么通信就是正常的。
阅读全文