5:02:09 PM 收到数据:XCDEV 20010401:Data:0,0,0,0,0,0,
5:02:19 PM 收到数据:XCDEV 20010401:Info:HB-850
5:03:09 PM 收到数据:XCDEV 20010401:Data:0,0,0,0,0,0,
5:03:59 PM 收到数据:XCDEV 20010401:Info:HB-950
5:04:09 PM 收到数据:XCDEV 20010401:Data:0,0,0,0,0,0,
5:04:49 PM 收到数据:XCDEV 20010401:Info:HB-1000
5:05:09 PM 收到数据:XCDEV 20010401:Data:0,0,0,0,0,0,
5:05:39 PM 收到数据:XCDEV 20010401:Info:HB-1050
5:06:09 PM 收到数据:XCDEV 20010401:Data:0,0,0,0,0,0,
5:06:29 PM 收到数据:XCDEV 20010401:Info:HB-1100
5:07:09 PM 收到数据:XCDEV 20010401:Data:0,0,0,0,0,0,
5:07:19 PM 收到数据:XCDEV 20010401:Info:HB-1150
5:08:09 PM 收到数据:XCDEV 20010401:Data:0,0,0,0,0,0,
txt命名:20200114163052.txt
数据传输时间
#coding=utf-8
#引入套接字
import socket
import re
import os
import time
from ftplib import FTP
#client
try:
#服务端不用
def tcpSend():
#创建套接字
tcp_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 绑定端口,发送数据时会从绑定的端口发送,不会再生成随机端口
tcp_socket.bind(("", 8001))
#连接服务器
tcp_socket.connect(("ip",8000))#变量为元组
# while True:
#数据传输
send_data=input("请输入传输的数据")
tcp_socket.send(send_data.encode("utf-8"))
#关闭套接字
tcp_socket.close()
#server端
#tcp与udp不同,tcp必须先运行服务器客户端才能连接
def tcpRecv():
# 创建套接字
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定端口,接收数据时会从绑定的端口发送,不会再生成随机端口
tcp_socket.bind(("192.168.166.191", 1357))
#listen设置最大允许连接数量
tcp_socket.listen(128)
# 为多个客户端服务while True:
#连接处理(已完成三次握手)并且获取资源对象,conn请求对象,addr客户端地址
client_scoket , client_addr = tcp_socket.accept()
#print(client_addr)
# 为一个客户端服务多次while True:
while True:
#请求处理,读取客户端发送过来的数据,设置每次读取1024字节,当过长时可以循环读取
recv_data=client_scoket.recv(1024)
#将字符格式转化为字符串格式,进行后续分割
str_recv_data= str(recv_data,encoding='utf-8')
#判断socket数据是否含有虫量
if "Data" in str_recv_data :
#正则表达式取出虫量
recv_bug = re.findall(r':.+:(.+)',str_recv_data)
recv_bug = recv_bug[0].strip()
print(recv_bug)
# 创建一个txt文件,文件名为mytxtfile,并向该文件文件写入msg
#获取当前系统时间,拼接
def get_time():
dataTime = time.strftime("%Y%m%d%H%M%S", time.localtime())
return dataTime
#创建text文件
def text_create(name, msg):
desktop_path = "E:\\projectDoc\\200114RaspberryPi\\" # 新创建的txt文件的存放路径
full_path = desktop_path + name + '.txt' # 也可以创建一个.doc的word文档
file = open(full_path, 'w')
file.write(msg) #msg也就是下面的Hello world!
file.close()
return full_path
#本地创建文件名格式20200114163052
a = text_create(get_time(), recv_bug)
print(a)
#链接ftp
def ftp_connect(host, username, password):
ftp = FTP()
# ftp.set_debuglevel(2)
ftp.connect(host, 21) # 连接ftp
ftp.login(username, password)
return ftp
"""
从本地上传文件到ftp
"""
def upload_file(ftp, remotepath, localpath):
bufsize = 1024
fp = open(localpath, 'rb')
ftp.storbinary('STOR ' + remotepath, fp, bufsize)
ftp.set_debuglevel(0)
fp.close()
#实例化ftp链接
ftp = ftp_connect("192.168.166.227", "Administrator", "jn6158Bgxq")
#上传本地指定路径文件到远程指定路径
#upload_file(ftp, r"123.txt", "E:\\projectDoc\\200114RaspberryPi\\2020115122724.txt")
newremote_path="dev20201\\counter\\"+get_time()+'.txt'
upload_file(ftp, newremote_path, a)
ftp.quit()
print("upload successful")
#上传后删除本地存储
# os.remove(a)
except OSError:
#客户端不需要服务.recv解堵塞,两种情况,客户端发送数据或客户端调用close。 if recv_data:发送了数据 else 关闭break
#client_scoket.send("hahahahha recv ok".encode("utf-8"))
# 关闭客户端连接
# 关闭套接字
client_scoket.close()
tcp_socket.close()
'''
if __name__ == '__main__':
#tcpSend()
tcpRecv()
'''
#coding=utf-8
#引入套接字
from xcpzbbjs import tcpRecv
if __name__ == '__main__':
#tcpSend()
tcpRecv()