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. Core Animation学习总结

    文件夹: The Layer Beneath The Layer Tree(图层树) The Backing Image(寄宿层) Layer Geometry(图层几何学) Visual Effec ...

  2. Socket编程的UDP与TCP,应用在哪些地方

    随着网络技术飞速发展,网速已不再是传输的瓶颈,UDP协议以其简单.传输快的优势,在越来越多场景下取代了TCP,如网页浏览.流媒体.实时游戏.物联网. 1,网速的提升给UDP稳定性提供可靠网络保障 CD ...

  3. git 对比两个commit 之间的差异

    git 对比两个commit 之间的差异 比较两个版本之间的差异 git diff commit-id-1 commit-id-2 > d:/diff.txt 结果文件diff.txt中: &q ...

  4. solr之定时增量索引实现

    solr本身就提供了一个工具库实现定时增量索引,但是我在使用的过程中发现会出现一些问题,目前遇到两点: 1.启动时总是报如下异常: ? 1 The web application [solr] reg ...

  5. [Canvas]飞机飞越河谷(背景向下平滑移动)

    请点击此处下载代码并用Chrome浏览器打开观看. 图例: 代码: <!DOCTYPE html> <html lang="utf-8"> <meta ...

  6. VMware: Non-VI workload detected on the datastore

    check ref: Unmanaged I/O workload detected on shared datastore running Storage I/O Control (SIOC) fo ...

  7. logstash 学习小记

    logstash 学习小记 标签(空格分隔): 日志收集 Introduce Logstash is a tool for managing events and logs. You can use ...

  8. 【PMP】变更流程图与说明

    点击下载viso原件 以下是变更流程说明: 1.团队成员判定不需要变更 发起人提出变更请求,团队成员对该变更进行分析与评估影响,通过判断后,如果决定不需要变,那么就编写反馈报告提交给相关方确认,相关方 ...

  9. Uploadify导致Chrome频繁崩溃Crash

    上传功能是工作中经常会遇到的问题,应该作为开发标配的技能每个人都会. 我选用的是Uploadify 3.1.2进行上传,使用方法参考之前的一篇文章, 今天记录下一个我遇到的很神奇的bug chrome ...

  10. Emacs flycheck插件配置中遇到的若干问题

    工欲善其事必先利其器,一个高效的代码检查工具会大大提高我们的开发效率.flycheck是Emacs中常用的一个代码编译检查工具,本文记录配置它的时候遇到的一些问题以及解决方法. flycheck的基本 ...