当前位置: 首页 > news >正文

python__系统 : socket_UDP相关

socket.socket() 可以创建一个套接字:

from socket import *
from threading import Thread


udp_socket = None
dest_ip = ''
dest_port = 0


def recvData():
    while True:
        recv_info = udp_socket.recvfrom(1024)   #接收包最大字节1024
        print('\r>> %s : %s' %(str(recv_info[1]), recv_info[0].decode('GBK')) )
        print('<< ')

def sendData():
    while True:
        send_info = input('<< ')
        udp_socket.sendto(send_info.encode('GBK'), (dest_ip, dest_port)) #发送包  python3 只能发送字节类型 2.x 可以发送字符串

def main():

    global udp_socket
    global dest_ip
    global dest_port

    dest_ip = input('对方的ip: ')
    dest_port = int(input('对方的端口: '))

    udp_socket = socket(AF_INET, SOCK_DGRAM) #创建socket对象
    udp_socket.bind(('', 9876))   #端口绑定

    tr = Thread(target=recvData)
    ts = Thread(target=sendData)

    tr.start()
    ts.start()

    tr.join()
    ts.join()


if __name__ == '__main__':
    main()

简单的发送和接收信息的socket程序.

另: 用 struct.pack() 打包 ,用 unpack() 解包.

还可以直接广播:

转载于:https://www.cnblogs.com/cccy0/p/9091033.html

相关文章:

  • 字符编码
  • 2017-07-14 数组学习 插入数字按顺序输出
  • python 基础总结复习
  • 网络相关以及防火墙
  • linux 优化
  • [Pyhton]weakref 弱引用
  • python之线程和进程(并发编程)
  • Linux系统小技巧(3):sar、last和dmesg的时间戳选项
  • Hibernate-ORM:07.Hibernate中的参数绑定
  • 老男孩教育每日一题-第96天-网站并发知识点:pv-并发与架构设计基础知识
  • Notepad++ 添加MarkdownViewerPlusPlus插件
  • ORACLE查询树型关系start with connect by prior
  • CentOS7安装Python3
  • 漂亮的css
  • 文件操作
  • 【Linux系统编程】快速查找errno错误码信息
  • Git初体验
  • Javascript 原型链
  • magento 货币换算
  • mysql中InnoDB引擎中页的概念
  • Node + FFmpeg 实现Canvas动画导出视频
  • pdf文件如何在线转换为jpg图片
  • quasar-framework cnodejs社区
  • ReactNative开发常用的三方模块
  • SpringBoot 实战 (三) | 配置文件详解
  • 测试如何在敏捷团队中工作?
  • 从tcpdump抓包看TCP/IP协议
  • 大快搜索数据爬虫技术实例安装教学篇
  • 力扣(LeetCode)56
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端攻城师
  • 微信小程序设置上一页数据
  • 写给高年级小学生看的《Bash 指南》
  • 新手搭建网站的主要流程
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • ​业务双活的数据切换思路设计(下)
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • (31)对象的克隆
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (五)Python 垃圾回收机制
  • (一)80c52学习之旅-起始篇
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET 的程序集加载上下文
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .net6 webapi log4net完整配置使用流程
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .NET的数据绑定
  • .NET命名规范和开发约定
  • .NET委托:一个关于C#的睡前故事
  • .net专家(高海东的专栏)
  • [ vulhub漏洞复现篇 ] Apache Flink目录遍历(CVE-2020-17519)