zoukankan      html  css  js  c++  java
  • 【TCP-UDP基本语法】

    TCP基本语法客户端和服务端收发数据时,
    一发一收是一对,否则会导致数据异常
    import socket

    1.创建socket对象
    2.绑定对应的ip和端口
    3.开启监听
    4.建立三次握手
    5.收发数据
    6.四次挥手
    7.退还端口
    import socket
    sk=socket.socket()
    sk.bind(("127.0.0.1",9000))
    sk.listen()
    conn,addr=sk.accept()
    print(conn,addr)

    res=conn.recv(1024)
    print(res.decode("utf-8"))
    conn.close()
    sk.close()

    客户端
    1.创建一个socket对象
    2.与服务器进行连接
    3.收发数据
    4.关闭连接

    import socket
    sk=socket.socket()
    sk.connect(("127.0.0.1",9000))
    sk.send(b"hello")
    sk.recv(1024)
    sk.close()

    UDP基本语法
    1.创建udp对象2.绑定ip地址端口3.接受消息(UDP作为服务端的时候,第一次一定是接受消息)
    4.关闭连接
    import socket
    type=socket.SOCK_DGRAM#返回UDP协议对象
    #创建udp对象
    sk=socket.socket(type=socket.SOCK_DGRAM)
    sk.bind(("127.0.0.1",9000))
    msg,cli_addr=sk.recvfrom(1024)
    print(cli_addr)# ('127.0.0.1', 56184)
    服务端给客户端发消息
    msg="2020这是怎么了"
    sk.sendto(msg.encode(),cli_addr)
    sk.close

    #客户端1.创建udp对象,发送数据3.关闭连接
    import socket
    # ### 客户端
    import socket
    # type=socket.SOCK_DGRAM => 返回udp协议对象
    # 1.创建udp对象
    sk = socket.socket(type=socket.SOCK_DGRAM)

    # 2.发送数据
    msg = "大妹子,你好呀?"
    # sendto(二进制字节流, (ip,端口) )
    sk.sendto(msg.encode() , ("127.0.0.1",9000) )

    # 客户端接受服务端发过来的数据
    msg,ser_addr = sk.recvfrom(1024)
    print(msg.decode())
    print(ser_addr)


    # 3.关闭连接
    sk.close()

  • 相关阅读:
    浅析 KMP
    【GOJ 3049】玩具
    较详细的gdb入门教程
    【GOJ 2963】记者
    【GOJ 2961】数数
    GF OIer's Talk 维护笔记
    Linux 中 UFW 的使用
    开源是什么?能吃吗?
    个人介绍
    NOIP2020 爆零记
  • 原文地址:https://www.cnblogs.com/bonnyxinxin/p/13141401.html
Copyright © 2011-2022 走看看