python socket通信代码
时间: 2023-10-14 10:29:52 浏览: 99
以下是一个简单的 Python socket 通信示例代码:
服务端代码:
```python
import socket
HOST = '127.0.0.1' # 服务器 IP 地址
PORT = 8888 # 服务器端口号
# 创建 socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定 IP 和端口号
server_socket.bind((HOST, PORT))
# 监听端口
server_socket.listen()
print('等待客户端连接...')
# 等待客户端连接
client_socket, client_address = server_socket.accept()
print(f'客户端 {client_address} 已连接!')
while True:
# 接收客户端数据
data = client_socket.recv(1024).decode('utf-8')
if not data:
break
print(f'客户端 {client_address} 发来消息:{data}')
# 发送数据给客户端
client_socket.sendall(f'已收到消息:{data}'.encode('utf-8'))
# 关闭 socket 连接
client_socket.close()
server_socket.close()
```
客户端代码:
```python
import socket
HOST = '127.0.0.1' # 服务器 IP 地址
PORT = 8888 # 服务器端口号
# 创建 socket 对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect((HOST, PORT))
while True:
# 发送数据给服务器
data = input('请输入消息:')
if not data:
break
client_socket.sendall(data.encode('utf-8'))
# 接收服务器数据
recv_data = client_socket.recv(1024).decode('utf-8')
print(f'收到服务器回复:{recv_data}')
# 关闭 socket 连接
client_socket.close()
```
这个示例中,我们创建了一个简单的服务器和客户端,使用了 Python 的 socket 模块进行通信。在服务端中,我们首先创建了一个 socket 对象,并通过 bind() 函数绑定 IP 地址和端口号。然后使用 listen() 函数监听端口,等待客户端连接。一旦客户端连接成功,我们就可以通过 accept() 函数接收来自客户端的数据。
在客户端中,我们同样创建了一个 socket 对象,并使用 connect() 函数连接到服务器。然后通过 input() 函数获取用户输入的数据,并使用 sendall() 函数将数据发送给服务器。接着使用 recv() 函数接收来自服务器的回复。最后,当用户输入空白行时,就可以关闭 socket 连接了。
需要注意的是,这只是一个简单的示例代码,实际中需要进行一些异常处理和错误检查。
阅读全文