|
|
|
import os |
|
import socket |
|
import time |
|
import streamlit as st |
|
from PIL import Image |
|
|
|
image = Image.open('img.jpg') |
|
|
|
st.image(image) |
|
|
|
st.title('Sender Page') |
|
st.divider() |
|
st.header("Share files easily, securely, and fast!") |
|
|
|
|
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) |
|
sock.bind((socket.gethostname(), 40000)) |
|
sock.listen(5) |
|
st.write("Host Name: ", sock.getsockname()) |
|
st.divider() |
|
with st.spinner('Searching For Receiver...'): |
|
client, addr = sock.accept() |
|
|
|
|
|
|
|
|
|
|
|
file_name = st.selectbox( |
|
'Select the File', |
|
('sample_python.py', 'sample_image.png', 'sample_pdf.pdf',"sample_text.txt")) |
|
st.write("File Selected: ", file_name) |
|
if file_name != "": |
|
file_size = os.path.getsize(file_name) |
|
|
|
|
|
client.send(file_name.encode()) |
|
client.send(str(file_size).encode()) |
|
|
|
|
|
with open(file_name, "rb") as file: |
|
c = 0 |
|
|
|
start_time = time.time() |
|
|
|
|
|
while c <= file_size: |
|
data = file.read(1024) |
|
if not (data): |
|
break |
|
client.sendall(data) |
|
c += len(data) |
|
|
|
|
|
end_time = time.time() |
|
|
|
st.write("File Transfer Complete.Total time: ", int(end_time - start_time)) |
|
|
|
sock.close() |