day18-作业-2019-8-14

一.服务端

import socket
import os
server = socket.socket()
server.bind(('10.7.181.111', 8088))
server.listen(512)
# 让服务器保持一致运行的状态
while True:
    print('开始监听')
    connect, address = server.accept()
    print('接收到请求')
    print(connect, address)
    # while True:
    recv_data = connect.recv(1024)
    # print('接收:', recv_data.decode(encoding='utf-8'))
    print('接收:', str(recv_data, encoding='utf-8'))
    print(123456)
    # 发送文字信息
    if recv_data == 'a':
        print(654321)
        message = 'HTTP/1.1 200 OK\r\n\r\n 连接成功'
        connect.send(message.encode())
        print(45687912)
        # send_message1 = input('服务器:')
        #         #
        #         # connect.send(send_message1.encode())
        #         # recv_data2 = connect.recv(1024)
        #         # print('接收:', str(recv_data2, encoding='utf-8'))
    # 发送图片列表
    else:
        filename = 'files'
        send_message2 = os.listdir(filename)
        connect.send(str(send_message2).encode())
        # 接收图片选择
        recv_data3 = connect.recv(1024)
        print('send-message2:', send_message2)
        print('recv_data3:', recv_data3)
        if recv_data3 in os.listdir(filename):
            print('有当前图片')
            with open('files/'+recv_data3, 'rb') as f:
                connect.send(f.read())
        else:
            print('没有此图片')
    print(456456)
    connect.close()

二.客户端

from socket import *
client = socket()
client.connect(('10.7.181.111', 8088))

send_message = input('请输入请求(a,b)(a.文字信息;b.图片信息):')
client.send(send_message.encode())

# 选择文字信息
if send_message == 'a':
    # while True:
    #     # 接收消息
        re_data = client.recv(1024)
        print('接收', re_data.decode(encoding='utf-8'))
        # 发送消息
        # send_message1 = input('客户端:')
        # client.send(send_message1.encode())
# 接收图片列表
else:
    re_data2 = client.recv(1024)
    print(re_data2.decode(encoding='utf-8'))
    # 发送想要的图片信息
    send_message2 = input('你想要的查看的图片:')
    client.send(send_message2.encode())
    while True:
        re_data3 = client.recv(1024)
        with open('files/new.jpg', 'ab') as f:
            f.write(re_data3)
        if (len(re_data3) < 1024):
            break



©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输。 按照计算机网络的定义,通过一定...
    蛋炒饭_By阅读 1,259评论 0 10
  • 一、IPC简介 (1)IPC是Inter-Process Communication的缩写,含义为进程间通信或者跨...
    遥遥的远方阅读 7,263评论 0 3
  • 互联网的通信安全,建立在SSL/TLS协议之上。 本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和...
    拉肚阅读 2,718评论 0 6
  • 原文地址 http://blog.csdn.net/u012409247/article/details/4985...
    0fbf551ff6fb阅读 3,595评论 0 13
  • 大早骂人渣渣,骂得真爽!文明好压抑,泼妇还真爽,爽得一地碎玻璃渣!什么都捡拾不回了,什么都碎得透透的,根本...
    章琳玖_dd35阅读 112评论 0 0