TCP 通信,服务器和客户端双向的数据收发,客户端连接服务器后,发送一个字符串,意,服务器接收后,反向给客户端也发送一个字符串,内容随意
时间: 2023-05-14 22:04:37 浏览: 75
好的,这是一个比较基础的网络编程问题。在 TCP 通信中,服务器和客户端都可以发送和接收数据。当客户端连接服务器后,可以通过套接字进行数据传输。下面是一个简单的 Python 代码示例:
服务器端代码:
```python
import socket
# 创建一个 TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定到指定的端口
server_address = ('localhost', 10000)
sock.bind(server_address)
# 监听连接
sock.listen(1)
while True:
# 等待客户端连接
connection, client_address = sock.accept()
try:
print('connection from', client_address)
# 接收客户端发送的数据
data = connection.recv(1024)
print('received {!r}'.format(data))
# 发送数据给客户端
message = 'Hello, client!'
connection.sendall(message.encode())
finally:
# 关闭连接
connection.close()
```
客户端代码:
```python
import socket
# 创建一个 TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接到服务器
server_address = ('localhost', 10000)
sock.connect(server_address)
try:
# 发送数据给服务器
message = 'Hello, server!'
sock.sendall(message.encode())
# 接收服务器发送的数据
data = sock.recv(1024)
print('received {!r}'.format(data.decode()))
finally:
# 关闭连接
sock.close()
```
这段代码可以实现客户端和服务器之间的双向通信。当客户端连接服务器后,发送一个字符串,服务器接收后,反向给客户端也发送一个字符串。
阅读全文