美文网首页
day18作业

day18作业

作者: 憨猜猜 | 来源:发表于2018-11-28 19:59 被阅读0次

    作业:

    1. 客户端和服务器聊天,可以一直聊天,直到一方发送’拜拜’。

    然后就可以和下一个人一直聊

    #服务器
    import socket
    
    # 创建一个ipv4和tcp套接字对象
    server = socket.socket()
    # 绑定ip地址和端口
    server.bind(('10.7.187.106', 8025))
    # 开始监听(监听数最大是400)
    server.listen((400))
    print('开始监听!!!')
    # 让服务器一直处在运行的状态
    while True:
        conversation, addr = server.accept()
        print('接收到请求:', addr)
        # 接收消息
        while True:
            data = conversation.recv(1024)
            print('客户端:', data.decode('utf-8'))
            # 发送消息
            message = input('服务器:')
            conversation.send(message.encode('utf-8'))
            if message == '拜拜':
                conversation.close()
    
    #客户端
    import socket
    # 创建一个ipv4和tcp套接字对象
    client = socket.socket()
    #绑定地址和端口
    client.connect(('10.7.187.106', 8025))
    while True:
        #发送消息
        message = input('客户端:')
        client.send(message.encode('utf-8'))
        #接收消息
        data = client.recv(1024)
        print('服务器:', data.decode('utf-8'))
        if message == '拜拜':
            client.close()
    

    2.客户端给服务器发送请求,请求成功后,客户端给服务发送‘1’,

    服务器就给客户端发送一张图片;客户端给服务发送‘2’,

    服务器就给客户端返回一个json文件中的内容;客户端给服务发送‘3’,

    服务器返回’拜拜’,然后断开连接

    没做出来

    服务器:
    import socket
    
    # 创建一个ipv4和tcp套接字对象
    server = socket.socket()
    # 绑定ip地址和端口
    server.bind(('10.7.187.106', 8023))
    # 开始监听(监听数最大是400)
    server.listen((400))
    print('开始监听!!!')
    # 让服务器一直处在运行的状态
    while True:
        conversation, addr = server.accept()
        print('接收到请求:', addr)
        # 接收消息
        while True:
            data = conversation.recv(1024)
            print('客户端:', data.decode('utf-8'))
            # 发送消息
            if data == '1':
                with open('www.jpg', 'br')as f:
                    message = f.read()
                    conversation.send(message)
            elif data == '2':
                with open('json', 'br') as f:
                    message = f.read()
                    conversation.send(message)
            elif data == '3':
                message = '拜拜'
                conversation.send(message.encode('utf-8'))
                conversation.close()
    客户端:
    # 创建一个ipv4和tcp套接字对象
    client = socket.socket()
    # 绑定地址和端口
    client.connect(('10.7.187.106', 8023))
    data = bytes()
    while True:
        message = input('客户端:')
        client.send(message.encode('utf-8'))
    
        re_data = client.recv(1024)
        data += re_data
        print('接收到数据!')
        if not re_data:
            break
    
    print('数据接收完了')
    with open('we.png', 'bw') as f:
        f.write(data)
        print('服务器:',re_data.decode('utf-8'))
    
    

    相关文章

      网友评论

          本文标题:day18作业

          本文链接:https://www.haomeiwen.com/subject/srwzqqtx.html