Tftp 下载器演示 2018-6-6 14:11:09

#!/usr/bin/env python
#!--*--coding:utf-8 --*--
#!@Time :2018/6/6 11:55
#!@Author TrueNewBee
'''
Tftp 下载器演示 04 关于架构
1. c/s 架构 服务端和客户端
2. b/s 用浏览器打开的 2018-6-6 17:24:29
由于demo的视频黑屏无法看,跳过这节
进行下一节 web服务器
'''
#Tftp 的test
from socket import *
import struct
#发送一个数据
#!H 是占用两个字符 8s是对应 test.jpg 8个字符,H是占空的,这是对应的规定
#上传数据
sendData = struct.pack("!H8sb5sb",1,"test.jpg",0,"octet",0) #创建一个套接字
#Tftp 默认端口是69
# udpSocket = socket(AF_INET,SOCK_DGRAM)
# udpSocket.send(sendData,("192.168.119.210",69))
# udpSocket.close() #套接字使用完就应该关闭
#下载数据
result = struct.unpack("!HH",recvData[:4])
print(result) udp广播
#!/usr/bin/env python
#!--*--coding:utf-8 --*--
#!@Time :2018/6/6 18:26
#!@Author TrueNewBee
'''
广播只能在udp中使用!! 一般情况下局域网收到数据,用广播
'''
import socket ,sys dest = ("<broadcast>",7788) #创建udp套接字
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#对这个需要发送广播数据的套接字进行修改设置,否则不能发送广播数据
#如果s套接字需要发送广播数据,那么久需要这句话
s.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1) #一广播的形式发送数据到本网络的所有电脑中去
# 192.168.1.0------->>网络号
# 192.168.1.255------>>广播地址
s.sendto("hi",dest) print("等待对方回复(按ctrl+c退出)") while True:
(buf,address) = s.recvfrom(2048)
print("Received from %s:%s"%(address,buf))

day_6.6 py的更多相关文章

  1. day_6.8 py 网络编程

    2018-6-8 18:20:30 OSI模型:就是七层物理层 ICMP 我ping你的时候要用,不仅要知道ip地址和网卡号mac地址 ARP  在我和你通讯前不知道的mac地址需要广播一下,当我说的 ...

  2. day_6.7 py tcp

    2018-6-7 09:20:34 #!/usr/bin/env python #!--*--coding:utf-8 --*-- #!@Time :2018/6/7 9:54 #!@Author T ...

  3. day_6.5 py

    Wireshark的使用  2018-6-5 20:16:05 明天学 03

  4. day_6.20动态加载py文件

    __import__() 魔法方法! 关于动态网站打开的  代码流程!

  5. python调用py中rar的路径问题。

    1.python调用py,在py中的os.getcwd()获取的不是py的路径,可以通过os.path.split(os.path.realpath(__file__))[0]来获取py的路径. 2. ...

  6. Python导入其他文件中的.py文件 即模块

    import sys sys.path.append("路径") import .py文件

  7. import renumber.py in pymol

    cp renumber.py /usr/local/lib/python2.7/dist-packages/pymol import renumber or run /path/to/renumber ...

  8. python gettitle.py

    #!/usr/bin/env python # coding=utf-8 import threading import requests import Queue import sys import ...

  9. 解决 odoo.py: error: option --addons-path: The addons-path 'local-addons/' does not seem to a be a valid Addons Directory!

    情况说明 odoo源文件路径-/odoo-dev/odoo/: 我的模块插件路径 ~/odoo-dev/local-addons/my-module 在my-module中创建了__init__.py ...

随机推荐

  1. MongoDB的学习--索引类型和属性(转)

    原文链接:MongoDB的学习--索引类型和属性 索引类型 MongDB的索引分为以下几种类型:单键索引.复合索引.多键索引.地理空间索引.全文本索引和哈希索引 单键索引(Single Field I ...

  2. Spring AOP项目应用——方法入参校验 & 日志横切

    转载:https://blog.csdn.net/Daybreak1209/article/details/80591566 应用一:方法入参校验 由于系统多个方法入参均对外封装了统一的Dto,其中D ...

  3. .NET 用 Unity 依赖注入——概述注册和解析类型(1)

    本文内容 Unity 概述 环境 一个真实的例子 类型注册(Type Registrations) 解析类型(Resolving Types) 跳槽,新公司使用了 Unity,初步看了一下,公司的使用 ...

  4. springcloud学习笔记(五)Spring Cloud Actuator

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  5. 部分Linux时区改为东八区的方法

    直接上命令 CentOS: timedatectl set-timezone Asia/Shanghai timedatectl status date Alphine: apk add tzdata ...

  6. python hex() oct() bin() math 内置函数

    示例: print hex(20),hex(-20) #转换成十六进制 print oct(20),oct(-20) #转换成八进制 print bin(20),bin(-20) #转换成二进制 pr ...

  7. SNF快速开发平台MVC-EasyUI3.9之-WebApi身份验证问题解决方案

    在我们的整体bs框架当中前端采用的是MVC+WebApi的处理方式.WebApi使用起来确实很方便但也会有新的麻烦事,就是身份验证. 如果没有启用身份认证,那么任何匿名用户只要知道了我们服务的url, ...

  8. css min-width和max-width

    min-width: 浏览器缩小设置min-width,元素最小也是min-width设置的值.设置min-width元素不会压扁. max-width:元素最大宽度

  9. [svc]sed&awk过滤行及sed常用例子

    - sed过滤行 sed '2p' sed '2,5p' sed '2p;3p;4p' - awk过滤行 awk 'NR==2' awk 'NR>=2 && NR <=3' ...

  10. C#读取CSV

    public class CSVFileHelper { /// <summary> /// 将DataTable中数据写入到CSV文件中 /// </summary> /// ...