python在其他电脑运行_python实现简单socket程序在两台电脑之间传输消息的方法

本文实例讲述了python实现简单socket程序在两台电脑之间传输消息的方法。分享给大家供大家参考。具体分析如下:

python开发简单socket程序在两台电脑之间传输消息,分为客户端和服务端,分别在两台电脑上运行后即可进行简单的消息传输,也可以在一台电脑上测试,设置两个不同的端口即可。

# Save as server.py 服务端代码

# Message Receiver

import os

from socket import *

host = ""

port = 13000

buf = 1024

addr = (host, port)

UDPSock = socket(AF_INET, SOCK_DGRAM)

UDPSock.bind(addr)

print "Waiting to receive messages..."

while True:

(data, addr) = UDPSock.recvfrom(buf)

print "Received message: " + data

if data == "exit":

break

UDPSock.close()

os._exit(0)

# Save as client.py 客户端代码

# Message Sender

import os

from socket import *

host = "127.0.0.1" # set to IP address of target computer

port = 13000

addr = (host, port)

UDPSock = socket(AF_INET, SOCK_DGRAM)

while True:

data = raw_input("Enter message to send or type 'exit': ")

UDPSock.sendto(data, addr)

if data == "exit":

break

UDPSock.close()

os._exit(0)

希望本文所述对大家的Python程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现两台电脑之间的人脸照片传输,可以通过网络连接实现。以下是具体的步骤: 1. 在发送端使用Python的OpenCV库采集人脸照片并保存到本地。 2. 将保存到本地的人脸照片通过Pythonsocket模块发送给接收端。 3. 在接收端使用Pythonsocket模块接收发送端发送的人脸照片,并保存到本地。 以下是具体的代码实现: 发送端代码: ```python import cv2 import pickle import socket # 创建socket连接 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client_socket.connect(('接收端IP地址', 8080)) # 采集人脸照片 face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.3, 5) for (x, y, w, h) in faces: roi_gray = gray[y:y + h, x:x + w] roi_color = frame[y:y + h, x:x + w] cv2.imwrite('face.jpg', roi_color) break if cv2.waitKey(1) & 0xFF == ord('q'): break # 将人脸照片序列化并发送给接收端 with open('face.jpg', 'rb') as f: data = pickle.dumps(f.read()) client_socket.sendall(data) # 关闭socket连接和摄像头 client_socket.close() cap.release() cv2.destroyAllWindows() ``` 接收端代码: ```python import cv2 import pickle import socket # 创建socket连接 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind(('本机IP地址', 8080)) server_socket.listen() # 接收发送端发送的人脸照片 client_socket, addr = server_socket.accept() data = b'' while True: packet = client_socket.recv(4096) if not packet: break data += packet # 将接收到的人脸照片保存到本地 with open('face.jpg', 'wb') as f: f.write(pickle.loads(data)) # 显示接收到的人脸照片 img = cv2.imread('face.jpg') cv2.imshow('image', img) cv2.waitKey(0) cv2.destroyAllWindows() # 关闭socket连接 client_socket.close() server_socket.close() ``` 需要注意的是,上述代码中需要将发送端和接收端的IP地址进行替换才能正常运行。此外,由于网络传输过程中可能会丢包或者出现延迟,因此需要在代码中添加相应的错误处理机制以保证程序的稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值