要在手机和电脑之间实时传输数据,可以使用Socket进行通信。
下面是一个简单的示例代码,将手机作为客户端,电脑作为服务器端,通过Socket实现在它们之间传输数据。
服务器端(电脑):
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(1)
# 等待客户端连接
print('等待客户端连接...')
client_socket, addr = server_socket.accept()
# 循环接收客户端发送的数据
while True:
data = client_socket.recv(1024)
if not data:
break
# 打印接收到的数据
print('收到客户端发送的数据:', data.decode())
# 向客户端发送数据
msg = '已收到数据:' + data.decode()
client_socket.send(msg.encode())
# 关闭客户端连接和服务器Socket
client_socket.close()
server_socket.close()
客户端(手机):
import socket
# 创建一个Socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取服务器主机名和端口号
host = '服务器IP地址'
port = 8888
# 连接服务器
client_socket.connect((host, port))
# 循环发送数据给服务器
while True:
msg = input('请输入要发送的数据:')
client_socket.send(msg.encode())
# 接收服务器发送的数据
data = client_socket.recv(1024)
print('收到服务器发送的数据:', data.decode())
# 关闭Socket连接
client_socket.close()
实现方式:
服务器端创建一个Socket对象,并绑定本机主机名和端口号,然后开始监听客户端连接。
客户端连接成功后,服务器端接收来自客户端的数据,并将接收到的数据发送回客户端。客户端连接服务器成功后,就可以循环发送数据给服务器,并等待服务器的回复。