day_6.6 py
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的更多相关文章
- day_6.8 py 网络编程
2018-6-8 18:20:30 OSI模型:就是七层物理层 ICMP 我ping你的时候要用,不仅要知道ip地址和网卡号mac地址 ARP 在我和你通讯前不知道的mac地址需要广播一下,当我说的 ...
- 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 ...
- day_6.5 py
Wireshark的使用 2018-6-5 20:16:05 明天学 03
- day_6.20动态加载py文件
__import__() 魔法方法! 关于动态网站打开的 代码流程!
- python调用py中rar的路径问题。
1.python调用py,在py中的os.getcwd()获取的不是py的路径,可以通过os.path.split(os.path.realpath(__file__))[0]来获取py的路径. 2. ...
- Python导入其他文件中的.py文件 即模块
import sys sys.path.append("路径") import .py文件
- import renumber.py in pymol
cp renumber.py /usr/local/lib/python2.7/dist-packages/pymol import renumber or run /path/to/renumber ...
- python gettitle.py
#!/usr/bin/env python # coding=utf-8 import threading import requests import Queue import sys import ...
- 解决 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 ...
随机推荐
- [leetcode]Unique Paths II @ Python
原题地址:https://oj.leetcode.com/problems/unique-paths-ii/ 题意: Follow up for "Unique Paths": N ...
- GraphQL入门2
将服务器端的代码升级了一下: var GraphQLSchema = require('graphql').GraphQLSchema; var GraphQLObjectType = require ...
- 求标准分sql
if object_id('tempdb..#tempTable') is not null Begin drop table #tempTable End [校区],[学年],[考试年级],[考试类 ...
- MySQL replicate-ignore-db详解
1:官方的解释是:在主从同步的环境中,replicate-ignore-db用来设置不需要同步的库.解释的太简单了,但是里面还有很多坑呢. 生产库上不建议设置过滤规则.如果非要设置,那就用Replic ...
- IntelliJ IDEA 2017.3/2018.1激活与汉化
本文以IntelliJ IDEA 2017.3以及2018.1为例进行讲解.(持续更新:2018年5月28日) 适用版本(其它版本未测试): IntelliJ IDEA 2017.2.6.2017.3 ...
- 【转】苹果App Store审核指南中文翻译(更新)
(注:<苹果应用商店审核指南>中文翻译最近一次更新为2013-03-04,文中红色部分是相对于2013-03-04版本的新增内容,绿色部分代表更改的内容,蓝色表示苹果相关官方文档的链接.) ...
- Mysql INSERT、REPLACE、UPDATE的区别
用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSE ...
- 基于ubuntu搭建 Discuz 论坛
系统要求:Ubuntu 16.04.1 LTS 64 位操作系统 安装 Apache2 ubuntu 需要安装 Apache2 ,使用 apt-get 安装 Apache2(安装好后,您可以通过访问实 ...
- Java list对象列表排序 实例
package com.test; public class Bean { private String name; private int priority; public String getNa ...
- Spark 底层网络模块
文章正文 对于分布式系统来说,网络是最基本的一环,其设计的好坏直接影响到整个分布式系统的稳定性及可用性.为此,Spark专门独立出基础网络模块spark-network,为上层RPC.Shuffle数 ...