python socket 通信中客户端与服务端通信的代码
时间: 2023-09-09 07:08:35 浏览: 107
socket通信客户端和服务端代码
5星 · 资源好评率100%
以下是一个简单的 Python Socket 通信示例,包含客户端和服务端的代码:
服务端代码:
```python
import socket
# 创建 socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
# 设置端口号
port = 8888
# 绑定端口号
server_socket.bind((host, port))
# 设置最大连接数,超过后排队
server_socket.listen(5)
while True:
# 建立客户端连接
client_socket, addr = server_socket.accept()
print("连接地址:%s" % str(addr))
msg = '欢迎访问菜鸟教程!' + "\r\n"
client_socket.send(msg.encode('utf-8'))
client_socket.close()
```
客户端代码:
```python
import socket
# 创建 socket 对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名
host = socket.gethostname()
# 设置端口号
port = 8888
# 连接服务,指定主机和端口
client_socket.connect((host, port))
# 接收小于 1024 字节的数据
msg = client_socket.recv(1024)
client_socket.close()
print(msg.decode('utf-8'))
```
在上面的示例中,服务端和客户端都使用了 `socket.socket` 方法创建了一个 socket 对象,服务端通过 `server_socket.bind()` 方法绑定了主机和端口号,并使用 `server_socket.listen()` 方法设置了最大连接数,然后使用一个无限循环来接受客户端的连接。当有新客户端连接时,服务端通过 `server_socket.accept()` 方法接受连接,并向客户端发送了一条欢迎消息,随后关闭了该客户端的连接。
客户端通过 `client_socket.connect()` 方法连接到服务端,并使用 `client_socket.recv()` 方法接收了服务端发送的欢迎消息,然后关闭了连接。
阅读全文