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))