socket通信python
时间: 2023-08-17 16:11:11 浏览: 121
Python中的socket通信是通过socket模块来实现的。你可以使用该模块来创建客户端和服务器端的套接字,从而进行网络通信。
以下是一个简单的例子,演示了如何在客户端和服务器端之间进行基本的socket通信:
服务器端代码(server.py):
```python
import socket
# 创建TCP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定IP地址和端口号
server_address = ('localhost', 8888)
server_socket.bind(server_address)
# 监听连接
server_socket.listen(1)
# 等待客户端连接
print("等待客户端连接...")
client_socket, client_address = server_socket.accept()
print("客户端已连接:", client_address)
# 接收客户端消息并发送响应
while True:
data = client_socket.recv(1024).decode('utf-8')
if not data:
break
print("收到消息:", data)
response = "已收到消息:" + data
client_socket.sendall(response.encode('utf-8'))
# 关闭套接字
client_socket.close()
server_socket.close()
```
客户端代码(client.py):
```python
import socket
# 创建TCP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
server_address = ('localhost', 8888)
client_socket.connect(server_address)
# 发送消息给服务器
message = "Hello, server!"
client_socket.sendall(message.encode('utf-8'))
# 接收服务器响应
response = client_socket.recv(1024).decode('utf-8')
print("服务器响应:", response)
# 关闭套接字
client_socket.close()
```
在运行示例代码之前,你需要先启动服务器端代码(server.py),然后再运行客户端代码(client.py)。客户端会向服务器发送一条消息,并接收服务器的响应。
这只是一个简单的示例,socket模块提供了更多功能和选项,可以满足更复杂的网络通信需求。你可以查阅Python官方文档或其他网络教程,以深入了解socket通信的更多用法和用例。
阅读全文