2018-11-28 Day18-homework

作业:

  1. 客户端和服务器聊天,可以一直聊天,直到一方发送’拜拜’。
    然后就可以和下一个人一直聊

(服务器)

import socket
server = socket.socket()
server.bind(('10.7.187.72', 8086))
server.listen(1024)
while True:
    conversation, addr = server.accept()
    print('接受到请求!')
    while True:
        recv_data = conversation.recv(1024)
        print('客户端:', recv_data.decode('utf-8'))
        if recv_data.decode('utf-8') == '拜拜':
            break
        message = input('服务器:')
        conversation.send(message.encode('utf-8'))
        if message == '拜拜':
            break

(客户端)

import socket

client = socket.socket()
client.connect(('10.7.187.72', 8086))
while True:
    message = input('客户端:')
    client.send(message.encode('utf-8'))
    if message == '拜拜':
        break
    recv_data = client.recv(1024)
    print('客户端:', recv_data.decode('utf-8'))
    if recv_data.decode('utf-8') == '拜拜':
        break

2.客户端给服务器发送请求,请求成功后,
客户端给服务发送‘1’,服务器就给客户端发送一张图片;
客户端给服务发送‘2’,服务器就给客户端返回一个json文件中的内容;
客户端给服务发送‘3’, 服务器返回’拜拜’,然后断开连接

(服务器)

import socket
server = socket.socket()
server.bind(('10.7.187.72', 8100))
server.listen(1024)
while True:
    conversation, addr = server.accept()
    print('接收到请求!')
    while True:
        recv_data = conversation.recv(1024)

        if recv_data.decode('utf-8') == '1':
            with open('./okok.jpg', 'rb') as f:
                content = f.read()
                conversation.send(content)
                print('客户端', recv_data.decode('utf-8'))
        elif recv_data.decode('utf-8') == '2':
            with open('./1234.json', 'r', encoding='utf-8') as f1:
                json1 = f1.read()
                print(json1)
                conversation.send(json1.encode('utf-8'))
                print('客户端','2')
        elif recv_data.decode('utf-8') == '3':
            conversation.send('拜拜'.encode('utf-8'))
            break

(客户端)

import socket
import json

def get_picture():
    data = bytes()
    while True:
        re_data = client.recv(1024)
        data += re_data
        with open('./图片.jpg', 'bw') as f:
            f.write(data)
def json1_get():
    re_data = client.recv(1024)
    json1 = re_data.decode('utf-8')
    print(json1)
    with open('./接受.json', 'w') as f:
        json.dump(json1, f)
    print('2(1)')

client = socket.socket()
client.connect(('10.7.187.72', 8100))

while True:
    message = input('客户端:')
    client.send(message.encode('utf-8'))
    data = bytes()
    # while True:
    #     print('2')
    if message == '1':
        print('接受图片!')
        get_picture()
    if message == '2':
        print('接受json文件')
        json1_get()
    if message == '3':
        re_data = client.recv(1024)
        print('服务器:', re_data.decode('utf-8'))
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,120评论 19 139
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,056评论 3 119
  • 年老与生命相遇 有一天,一场重病,踏过生活一大半的他,才看到院落,一位衰朽的老人。坐在温暖的阳光之下,呈现出一种昏...
    博古林V雙木居士阅读 6,459评论 8 4
  • 七绝·丁酉年立冬题美人树 北疆今日尽皆冬, 千里江山白雪封。 南国秋风犹自暖, 繁花满树舞莺蜂。 注:美人树,正名...
    沙湖小景阅读 3,966评论 2 3
  • 我,为什么喜欢坐在窗边 因为窗边 一面向人,一面向着外面的风景 一面复杂,一面无比的透彻 我在中间,两相张望 我,...
    氏人阅读 4,736评论 1 3

友情链接更多精彩内容