zoukankan      html  css  js  c++  java
  • Python--网络编程-----基于UDP协议的套接字

    服务端:

     1 from socket import *
     2 
     3 server = socket(AF_INET, SOCK_DGRAM)
     4 server.bind(('127.0.0.1', 8080))
     5 
     6 while True:
     7     data, client_addr = server.recvfrom(1024)
     8     print(data, client_addr)
     9 
    10     server.sendto(data.upper(), client_addr)
    11 
    12 server.close()

    客户端:

     1 from socket import *
     2 
     3 client = socket(AF_INET, SOCK_DGRAM)
     4 
     5 while True:
     6     msg = input(">>:").strip()
     7     client.sendto(msg.encode('utf-8'), ('127.0.0.1', 8080))
     8 
     9     data, server_addr = client.recvfrom(1024)
    10     print(data, server_addr)
    11 
    12 client.close()

    先启动服务端,再启动客户端,在客户端输入小写字母abc,

    客户端运行结果为:

    1 >>:abc
    2 b'ABC' ('127.0.0.1', 8080)
    3 >>:

    服务端运行结果为:

    1 b'abc' ('127.0.0.1', 55255)

    这就实现了基于udp协议的简单套接字程序

    基于udp协议的套接字能够发空:

    在客户端输入空,

    客户端运行结果为:

    1 >>:
    2 b'' ('127.0.0.1', 8080)
    3 >>:
    4 b'' ('127.0.0.1', 8080)
    5 >>:

    udp就算发送数据为空,但是udp是数据报协议,数据报中还包含有ip端口信息,所以说数据报不为空

  • 相关阅读:
    Linux:mv命令
    Linux:cp -rp
    Linux:sed命令
    Linux:cut命令...未完待续
    Linux:xargs命令
    python动态获取对象的属性和方法 (转载)
    python 继承中的super
    HTTP认证机制(翻译)
    技术名词解释
    设计模式之代理模式
  • 原文地址:https://www.cnblogs.com/xudachen/p/8856359.html
Copyright © 2011-2022 走看看