Python ネットワーク プログラミング クライアントが画像をサーバーに送信する手順

1. 必要なモジュールをインポートします。Python では、一般的に使用されるネットワーク プログラミング モジュールは とsocketですstructネットワーク通信とデータ処理のためにこれら 2 つのモジュールをインポートします。

import socket
import struct

2. ソケット接続の確立: クライアントはサーバーとのソケット接続を確立する必要があります。モジュールsocketの関数を使用してsocket()ソケット オブジェクトを作成し、connect()メソッドを使用してそれをサーバーの IP アドレスとポート番号に接続できます。 

# 创建套接字对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 连接服务器
server_address = ('服务器IP地址', 端口号)
client_socket.connect(server_address)

3. イメージ ファイルを開いてデータを読み取ります。クライアントは、転送するイメージ ファイルを開き、ファイル データをバイナリ形式で読み取る必要があります。

# 打开图片文件并读取数据
image_file = open('图片文件路径', 'rb')
image_data = image_file.read()
image_file.close()

4. 画像サイズ情報の送信: 実際の画像データを送信する前に、サーバーが画像データを正しく受信して解析できるように、クライアントは画像サイズ情報をサーバーに送信する必要があります。structこのモジュールを使用すると、画像サイズを 4 バイトの符号なし整数にパックし、send()メソッドを使用してサーバーに送信できます。

# 发送图片大小信息
image_size = len(image_data)
client_socket.send(struct.pack('!I', image_size))

5. 画像データの送信: クライアントは、send()このメソッドを使用して画像データをサーバーに送信します。

# 发送图片数据
client_socket.send(image_data)

6. サーバーからの応答を受信する: クライアントは、recv()サーバーからの応答を受信するメソッドを使用して、画像が正常に受信されたかどうかを確認したり、その他の処理を実行したりできます。ここでの応答内容や処理方法は、ニーズに応じて決定されます。

# 接收服务器响应
response = client_socket.recv(1024)
# 处理响应

7. ソケット接続を閉じる: 送信が完了したら、クライアントはサーバーとのソケット接続を閉じる必要があります。

# 关闭套接字连接
client_socket.close()

おすすめ

転載: blog.csdn.net/weixin_72059344/article/details/131706851