• TCP标准模板


    伪代码

    #创建一个TCP服务器
      ss = socket()    #创建服务器套接字
      ss.bind()           #把地址绑定到套接字上
      ss.listen()         #监听连接
      inf_loop:           #服务器无线循环
          cone,addr = ss.accept()    #接收客户端连接
      comm_loop:      #通信循环
          cone.recv()/cs.send()    #对话(接受与发送)
      cone.close()      #关闭客户端套接字
    ss.close()          #关闭服务器套接字(可选)
    
    #创建一个TCP客户端
    ss = socket()   #创建一个客户端套接字
    ss.connect()    #尝试连接服务器
    comm_loop:     #通信循环
        cs.send()/cs.recv()    #对话(接受或发送)
    cs.close()         #关闭客户端套接字
    复制代码

    标准实例:

    #服务器端
    from socket import *
    cs = socket(AF_INET,SOCK_STREAM)
    cs.bind(("127.0.0.1",8888))
    cs.listen(5)
    print("Have Listen")
    
    while True:
        cone,addr = cs.accept()
        while True:
            data = cone.recv(1024)
            if len(data) == 0:break   #如果收到TCP消息,则关闭客户端套接字
            print(data.decode("utf-8"))
            cone.send(data.upper())
        cone.close()
    cs.close()
    
    #客户端
    from socket import *
    cs = socket(AF_INET,SOCK_STREAM)
    cs.connect(("127.0.0.1",8888))
    while True:
        ssg = input(">>>").strip()
        if not ssg:continue   #避免空格造成的停顿
        cs.send(ssg.encode("utf-8"))  #
        data = cs.recv(1024)
        print(data.decode("utf-8"))  #
    cs .close()
  • 相关阅读:
    开课博客
    第二周学习进度
    django新建项目
    装饰器执行顺序问题
    Python3 图片转字符画
    python项目
    jdbc url写法(集群)
    gradle执行test任务报错
    java.lang.NoClassDefFoundError: org/junit/runner/manipulation/Filter
    django 403问题
  • 原文地址:https://www.cnblogs.com/yangmingxianshen/p/7932371.html
Copyright © 2020-2023  润新知