代码讲解

 import socket

 # 发送数据
def send_data(udp_socket, dest_ip, dest_port):
send_msg = input('请输入要发送的数据: ')
udp_socket.sendto(send_msg.encode('gbk'), (dest_ip, dest_port)) # encode(字符编码)
return send_msg # 接收数据
def recv_data(udp_socket):
recv_msg, recv_ip_port = udp_socket.recvfrom(1024) # recvfrom(一次可接收数据的大小)
print(str(recv_ip_port) + ':' + recv_msg.decode('gbk'))
return recv_msg.decode('gbk') def main():
# 创建udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 创建udp套接字
# 绑定自身ip和port
load_addr = ('', 8000)
udp_socket.bind(load_addr)
# 对方ip和port
dest_ip = input('请输入对方ip: ')
dest_port = int(input('请输入对方port: '))
while True:
# 发送数据
exit1 = send_data(udp_socket, dest_ip, dest_port)
if exit1 == 'exit':
break
# 接收数据
exit2 = recv_data(udp_socket)
if exit2 == 'exit':
break
# 关闭udp套接字
udp_socket.close() if __name__ == '__main__':
main()

最新文章

  1. c# random string
  2. 【leetcode❤python】 203. Remove Linked List Elements
  3. linux rdsktop 运程管理 windows
  4. java之yield(),sleep(),wait()区别详解-备忘笔记
  5. 慕课网-安卓工程师初养成-3-6 Java中的逻辑运算符
  6. [C语言 - 1] C语言数据类型
  7. 业界最有价值的 ASP.NET 博文汇总
  8. 使用 Chef 管理 Azure 资源
  9. Android通过类对象的方式实现JSON数据的解析
  10. 转:cookie和session(一)——原理
  11. mysql去掉字段字符中间空格
  12. 根据list<Object>中的某个字段排序
  13. 解决ie6里png图片透明变白色bug
  14. Linux配置浮动IP实现WEB高可用
  15. 微软Surface Book推送Windows 10新固件更新:增强系统和电池
  16. UNIX环境高级编程——System V 共享内存区
  17. Scrapy详解
  18. Gym - 100637J
  19. 【Android】Tips for Android developer: “Conversion to Dalvik format failed: Unable to execute dex: null”
  20. Python 编程快速上手 第十五章 保持时间,计划任务和启动程序

热门文章

  1. 源码详解系列(八) ------ 全面讲解HikariCP的使用和源码
  2. JDBC访问数据库的具体步骤(MySql + Oracle + SQLServer)
  3. C++解析Json,使用JsonCpp读写Json数据
  4. 《Head First Java(第二版)》中文版 分享下载
  5. Zookeeper 部署 配置文件
  6. hadoop local、伪分布 模式
  7. 安装python 第三方库(whl,py格式)
  8. Cesium案例解析(六)——3DTilesInspector监视器
  9. Maven项目的目录问题
  10. 类加载机制与JVM调优命令