美文网首页
网络编程作业

网络编程作业

作者: 陈卷卷卷卷 | 来源:发表于2018-08-11 14:05 被阅读0次

写一个两个人的聊天系统,可以实现双向聊天功能。
如果发送的是普通的文字就直接打印,如果发送的文字是’拜拜’就关闭连接,
如果是一个网络地址就获取数据(保存到文本文件中),如果是图片地址就下载图片到本地

只实现了发送‘拜拜’时能够中断连接和发送网络地址是能够下载打印网页数据,通过发送的图片地址将图片保存在本地暂时还没有实现。

服务器代码实现:

import socket

if __name__ == "__main__":
    # 创建服务器套接字对象
    server = socket.socket()
    # 绑定ip地址及串口
    server.bind(('10.7.181.98', 12345))
    # 实现监听
    server.listen(50)

    # 保持服务器始终开启
    while True:
        # 接收客户端请求
        conversation, address = server.accept()
        while True:
            message = input('>>>')
            conversation.send(message.encode())
            message_data = conversation.recv(1024)
            print(message_data.decode(encoding='utf-8'))

            # message_null = bytes()
            # while message_data:
            #     message_null += message_data
            #     print(message_null)
            # message_close = '拜拜'
            # if message_close == message_null:
            #     conversation.close()

客户端代码实现:

import socket
import re
from requests import request


if __name__ == "__main__":
    client = socket.socket()
    client.connect(('10.7.181.98', 12345))
    while True:
        data = client.recv(1024)
        data_re = re.match(r'http.*', data.decode(encoding='utf-8'))
        if data_re:
            url = data
            response = request('GET', url)
            print(type(response), response.text)
        print(data.decode(encoding='utf-8'))
        # data_null = bytes()
        # while data:
        #     data_null += data
        # print(data_null)
        # if data_null == '拜拜':
        #     data.close()
        message = input('>>>')
        data.send(message.encode())

运行结果:

D:\Python\python.exe D:/千锋/课堂代码/UNIIT2/DAY19-计算机通信/homework.py
http://www.baidu.com
>>>

+++++++++++++++++++++++++++++++++++++++++++++++
D:\Python\python.exe D:/千锋/课堂代码/UNIIT2/DAY19-计算机通信/homework-client.py
<class 'requests.models.Response'> <!DOCTYPE html><html><head><meta http-equiv="........
http://www.baidu.com

相关文章

  • DAY52

    网络编程作业终于搞定了@_@

  • 网络编程作业

    编写一个能够持续聊天的服务器和客户端,当客户端发送“拜拜”的时候,断开服务器和客户端的连接,发送一个网址,能够下载...

  • 网络编程作业

    1.### 写一个两个人的聊天系统,可以实现双向聊天功能。2.###如果发送的是普通的文字就直接打印,如果发送的文...

  • 网络编程作业

    写一个两个人的聊天系统,可以实现双向聊天功能。如果发送的是普通的文字就直接打印,如果发送的文字是’拜拜’就关闭连接...

  • s9python网络编程

    python之路——网络编程计算机网络ftp作业 网络编程 mac地址 arp协议:通过ip地址找mac地址 ip...

  • DAY60

    今天继续学习了僵尸进程,感觉网络编程的作业好难写

  • Android 网络编程 目录

    Android 网络编程 目录 Android 网络编程1 Http协议Android 网络编程2 Okhttp缓...

  • Linux网络编程篇之ICMP协议分析及ping程序实现

    Linux网络编程系列: Linux网络编程篇之Socket编程预备知识 Linux网络编程篇之TCP协议分析及聊...

  • Day16作业-网络编程

    服务器 客户端 功能总结:能实现url和普通文本发送,url数据只能单次保存,多次发送会更新为最新发送内容。图片发...

  • day18 网络编程作业

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

网友评论

      本文标题:网络编程作业

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