Python桌面应用程序中的网络通信
网络通信入门:让Python桌面应用与世界对话
在今天的互联网时代,一个独立的桌面应用程序如果能够连接到网络,获取外部数据或与其他系统进行交互,无疑会变得更加有用和强大。想象一下你的程序就像是一个孤独的岛屿,而网络就是那片广阔的大海,通过网络,这个小岛就能与世界各地的其他岛屿进行交流。
为了让你的应用程序能够“说话”,我们可以使用Python的标准库socket
来建立基本的网络连接。例如,下面是一个简单的客户端-服务器模型的例子:
服务器端代码:
import socket
# 创建一个TCP/IP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口
server_address = ('localhost', 10000)
server_socket.bind(server_address)
# 开始监听传入连接
server_socket.listen(1)
print("等待连接...")
while True:
# 等待一个连接
connection, client_address = server_socket.accept()
try:
print(f"从 {
client_address} 接收到连接")
# 接收数据
while True:
data = connection.recv(16)
if data:
print(f"收到: {
data.decode()}")
# 发送回同样的数据
connection.sendall(data)
else:
break
finally:
# 清理连接
connection.close()
客户端代码:
import socket
# 创建一个TCP/IP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接到服务器
server_address = ('localhost', 10000)
client_socket.connect(server_address)
try:
# 发送数据
message = "你好,服务器!"
client_socket.sendall(message.encode())
# 查看响应
response = client_socket.recv(16)
print(f"收到: