socket面向连接的通信的一个简单示例程序
时间: 2023-07-30 18:08:11 浏览: 37
好的,以下是一个简单的基于TCP的socket面向连接的通信示例程序,包括服务端和客户端:
服务端:
```python
import socket
# 定义主机和端口号
HOST = '127.0.0.1'
PORT = 8888
# 创建socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定主机和端口号
server_socket.bind((HOST, PORT))
# 监听连接
server_socket.listen(5)
# 等待客户端连接
client_socket, client_address = server_socket.accept()
# 接收客户端发送的消息
data = client_socket.recv(1024)
# 处理接收到的消息
print('Received:', data.decode())
# 发送消息给客户端
message = 'Hello, client!'
client_socket.send(message.encode())
# 关闭连接
client_socket.close()
server_socket.close()
```
客户端:
```python
import socket
# 定义主机和端口号
HOST = '127.0.0.1'
PORT = 8888
# 创建socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务端
client_socket.connect((HOST, PORT))
# 发送消息
message = 'Hello, server!'
client_socket.send(message.encode())
# 接收服务端发送的消息
data = client_socket.recv(1024)
# 处理接收到的消息
print('Received:', data.decode())
# 关闭连接
client_socket.close()
```
上述代码中,服务端先创建一个socket对象,然后绑定主机和端口号,并开始监听连接。一旦有客户端连接,服务端就会接收客户端发送的消息,并处理消息,然后再发送消息给客户端。客户端也创建一个socket对象,然后连接服务端,并发送消息给服务端,最后接收服务端发送的消息并处理。最后,客户端和服务端都关闭连接。
需要注意的是,这是一个基于TCP的面向连接的通信示例程序,它具有可靠性高、传输速度慢等特点,适用于需要可靠性的数据传输。