• 网络编程


    # class A(object):
    # pass
    #
    # class B(A):
    # pass
    #
    # class C(B):
    # pass
    #
    # class D(object):
    # pass
    #
    # class E(D,C):
    # pass
    #
    # class F(object):
    # pass
    #
    # class G(F):
    # pass
    #
    # class H(C,G):
    # pass
    #
    # class Foo(E,H):
    # pass
    # print(E.mro())

    '''

    L(Foo + L(E) + L(H))
    L(E) = E,D,C,B,A
    L(H) = H,C,B,A,G,F
    Foo = Foo +L(E) + L(F)
    = E,D,C,B,A + H,C,B,A,G,F
    = E,D,H,C,B,A,G,F

    '''



    import socket #插座,插排,穴

    #创建服务端socket对象
    server = socket.socket()

    #绑定ip和端口

    server.bind(('192.168.13.190',9999))#bind订装,捆绑,约束

    #响应五个人
    server.listen(8)

    print("服务器端口准备开始接受客户端的链接")

    #等带客户端来链接,如果没人来就傻傻的等待.
    #conn 是哭护短和服务器连接的桥梁,服务端以后要通过该对象进行收发数据
    #addr数客户端的地址信息
    #阻塞,只有有客户端进行链接 ,则获取客户端链接然后开始进行通信,
    conn, addr = server.accept()
    print("已经有人连接上了客户端的信息:", conn, addr)


    #通过对象去获取(客户端通过桥梁发过来的信息)
    #1024*2 表示:服务端通过桥梁获取数据时,一次性最多拿1024个字节.
    data = conn.recv(2048)

    print("已经光明正大的发来消息了", data.decode("utf-8"))


    #服务端通过桥梁给客户端回复了一个消息.
    conn.send("what you what男".encode("utf-8"))

    #与客户端断开链接(桥梁崩塌瓦解)
    conn.close()

    #关闭服务端的服务
    server.close()







    import socket
    client = socket.socket()

    #向客户端发起链接请求(桥梁)
    # 阻塞, 去连接, 直到连接成功后才会继续走下去

    client.connect(('192.168.13.190', 9999))#俩个值,ip地址 和端口号,放在一个元祖中

    #链接上服务器后,向服务端发送消息
    client.send('hello,男'.encode("utf-8"))

    #客户端等待服务端将信息发送回来
    data = client.recv(2048)
    print(data.decode("utf-8"))

    #关闭客户端
    client.close()
  • 相关阅读:
    c# 清楚表格美容
    linux下svn迁移目录操作
    XML 操作(判断用户登录)
    confirm弹出一个包含"确定"与"取消"的对话方块.
    Js获取当前日期时间及其它操作
    简单实用方法!!
    随机数概率解决思路
    简单的SQL语句!!
    JS验证表单大全
    C语言系列(三):最近重拾C语言的想法,谈到C中易错点,难点;以及开源代码中C语言的一些常用技巧,以及如何利用define、typedef、const等写健壮的C程序
  • 原文地址:https://www.cnblogs.com/zzy7372/p/9579278.html
Copyright © 2020-2023  润新知