• (二十六)C/S,socket初识


    一、架构

        此处说的架构是C/S架构,就是客户端/服务端,拿手机来说,QQ,微信等都是客户端,而为这些客户端提供数据的就是服务端。PC端也有这种模式,就是电脑安装的QQ,微信等。由C/S还衍生出来一个B/S,就是浏览器/服务端。

    这个B/S的作用就是在浏览器中,可以任意访问网站,不用再去安装很多的客户端。在一些客户端在红中,其实也有使用到网页,对于一些展示性的页面或者急于开发的页面,就会使用网页代替,所以现在有些公司,会混合使用两者。

    二、Socket

    套接字,一个要想使用网络必须了解的知识。在Python中,把socket进行了处理,先看代码。模拟的客户端和服务端。

    client.py

    import socket
    #创建一个client对象
    client = socket.socket()
    server_ip_port = ('IP地址', int型端口号)
    #根据IP地址和端口号去连接对方的服务器
    client.connect(server_ip_port)
    while 1:
        to_client_msg = input('对服务端说:')
        if 'Q' == to_client_msg.upper():
            break
        client.send(to_client_msg.encode('utf-8'))
        from_server_msg = client.recv(1024)
        print('服务端说:', from_server_msg.decode('utf-8'))
    
    client.close()
    

      server.py

    import socket
    #使用socket获取一个server
    server = socket.socket()
    ip_port = ('IP地址', int型端口号)
    #把IP端口号和server绑定起来
    server.bind(ip_port)
    #监听消息
    server.listen()
    #等待客户端的连接吧
    conn, addr = server.accept()
    while 1:
    #接收消息,对方以字节传递过来的,设置一个每次最大接收值,一般是1024
        from_client_msg = conn.recv(1024)
    #打印时,要解码
        print(addr[0] + "说:", from_client_msg.decode('utf-8'))
        to_client_msg = input('对' + addr[0] + "说:")
        if 'Q' == to_client_msg.upper():
            break
    #给对方发送消息时,也要是字节
        conn.send(to_client_msg.encode('utf-8'))
    #最后不使用了就关闭连接
    conn.close()
    server.close()
    

      

  • 相关阅读:
    使用python脚本自动创建pip.ini配置文件
    Windows 安全软件集
    配置 vim 编辑器
    (转)linux下和云端通讯的例程, ubuntu和openwrt实验成功(一)
    转 10 个最佳的 Node.js 的 MVC 框架
    转-基于NodeJS的14款Web框架
    (转) [it-ebooks]电子书列表
    (原创) alljoyn物联网实验之手机局域网控制设备
    (原创)天气又转热了,我给她做了个智能小风扇
    Alljoyn瘦客户端库介绍(官方文档翻译 下)
  • 原文地址:https://www.cnblogs.com/asia-yang/p/10209959.html
Copyright © 2020-2023  润新知