zoukankan      html  css  js  c++  java
  • TCP和UDP

    一、TCP和UDP对比

    TCP(Transmission Control Protocol)可靠的、面向连接的协议(eg:打电话)、传输效率低全双工通信(发送缓存&接  收缓存)、面向字节流。使用TCP的应用:Web浏览器;文件传输程序。

    UDP(User Datagram Protocol)不可靠的、无连接的服务,传输效率高(发送前时延小),一对一、一对多、多对  一、多对多、面向报文(数据包),尽最大努力服务,无拥塞控制。使用UDP的应用:域名系统 (DNS);视频流;IP语音(VoIP)。

     

    二、TCP和UDP下的socket

    Import socket
    Server = socket.socket()
    Ip_port = (‘192.168.12.11’,8003)  #127.0.0.1 本机的回环地址
    Server.bind(ip_port)  #绑定ip地址和端口
    Server.listen()  #监听ip
    Conn,addr = server.accept()
    From_client_msg = conn.recv(1024)
    Print(from_client_msg.decode(‘utf-8’)) 
    Conn.send(‘大力’.encode(‘utf-8’))
    Conn.close()
    Server.close()
    
    客户端:
    Import socket
    Client = socket.socket()
    Ip_port = (‘192.168.12.11’,8003)
    Client.connect(ip_port)
    Client.send(‘奇迹’.encode(‘utf-8’))
         From_server_msg = client.recv(1024)
    Print(from_server_msg.decode(‘utf-8’))
    Client.close()
    tcp下的socket
    # 服务端
    import socket
    
    udp_server = socket.socket(type=socket.SOCK_DGRAM) #datagram
    
    ip_port = ('127.0.0.1', 8002)
    udp_server.bind(ip_port)
    
    from_client_msg, client_addr = udp_server.recvfrom(1024)
    
    udp_server.sendto(b'gunduzi', client_addr)
    
    
    print(from_client_msg, client_addr)
    
    # 客户端
    import socket
    udp_client = socket.socket(type=socket.SOCK_DGRAM)
    ip_port = ('127.0.0.1',8002)
    udp_client.sendto(b'hello',ip_port)
    
    from_server_msg,server_addr = udp_client.recvfrom(1024)
    print(from_server_msg,server_addr)
    udp下的socket
  • 相关阅读:
    tf导出pb文件,以及如何使用pb文件
    word2vec入门理解的博客整理
    简单的RNN和BP多层网络之间的区别
    图像中用到的信息论中的一些概念公式
    raw文件转mha文件
    mha格式的CT体数据转为jpg切片
    在MySQL的表中增加一列
    ES7学习笔记(二)ES的集群原理
    MySQL中的幻读,你真的理解吗?
    ES7学习笔记(一)Elasticsearch的安装与启动
  • 原文地址:https://www.cnblogs.com/wangpanger/p/10217305.html
Copyright © 2011-2022 走看看