tcp server与client
时间: 2023-09-20 14:05:08 浏览: 89
server 和client
TCP是一种面向连接的协议,用于在不同的计算机之间进行可靠的数据传输。在TCP中,服务器和客户端都是通过套接字(socket)来进行通信的。
TCP服务器的基本流程是:
1. 创建服务器套接字,指定服务器的IP地址和端口号。
2. 绑定服务器套接字到指定的IP地址和端口号。
3. 监听来自客户端的连接请求。
4. 接受来自客户端的连接请求,并创建一个新的套接字用于和客户端进行通信。
5. 和客户端进行数据通信,直到数据传输完毕或者客户端关闭连接。
6. 关闭和客户端的套接字,并回到第4步,等待下一个客户端的连接请求。
TCP客户端的基本流程是:
1. 创建客户端套接字,指定服务器的IP地址和端口号。
2. 连接到服务器。
3. 和服务器进行数据通信,直到数据传输完毕或者服务器关闭连接。
4. 关闭客户端套接字。
下面是一个简单的示例代码,演示了如何使用Python的socket模块实现TCP服务器和客户端的通信:
TCP服务器代码:
```python
import socket
# 创建服务器套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定服务器套接字到指定的IP地址和端口号
server_socket.bind(('127.0.0.1', 8888))
# 监听来自客户端的连接请求
server_socket.listen(5)
while True:
# 接受来自客户端的连接请求,并创建一个新的套接字用于和客户端进行通信
client_socket, client_address = server_socket.accept()
print(f"连接已建立,客户端地址为{client_address}")
# 和客户端进行数据通信,直到数据传输完毕或者客户端关闭连接
while True:
data = client_socket.recv(1024)
if not data:
break
print(f"收到客户端的数据:{data.decode('utf-8')}")
client_socket.sendall(data)
# 关闭和客户端的套接字
client_socket.close()
```
TCP客户端代码:
```python
import socket
# 创建客户端套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接到服务器
client_socket.connect(('127.0.0.1', 8888))
# 和服务器进行数据通信,直到数据传输完毕或者服务器关闭连接
while True:
data = input("请输入要发送的数据:")
if not data:
break
client_socket.sendall(data.encode('utf-8'))
data = client_socket.recv(1024)
print(f"收到服务器的数据:{data.decode('utf-8')}")
# 关闭客户端套接字
client_socket.close()
```
阅读全文