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()

  • 相关阅读:
    RabbitMQ教程
    设置文件夹共享及所有访问权限
    一键操作IIS
    C#操作IIS服务
    【01】浅谈HTTP在WebApi开发中的运用
    Socket通信原理
    C# 通过JObject解析json对象
    MVC小知识整理
    Global.asax文件的作用
    iOS开发日记9-终端命令
  • 原文地址:https://www.cnblogs.com/bonnyxinxin/p/13141401.html
Copyright © 2011-2022 走看看