Changeset - 92b513293c88
[Not reviewed]
default
0 3 0
Laman - 8 years ago 2017-05-04 22:56:48

reading filename from command line, fixed indentation
3 files changed with 12 insertions and 10 deletions:
0 comments (0 inline, 0 general)
src/client.py
Show inline comments
 
@@ -4,17 +4,18 @@ import socket
 
import sys
 
 
import config as conf
 
from networkers import NetworkReader,NetworkWriter
 
 
 
filename=sys.argv[1]
 
 
 
def connect():
 
	HOST = conf.hosts[0]    # The remote host
 
	PORT = conf.port              # The same port as used by the server
 
	s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
	s.connect((HOST, PORT))
 
	s.connect((conf.hosts[0], conf.port))
 
	fr=s.makefile(mode='rb')
 
	fw=s.makefile(mode='wb')
 
 
	networkReader=NetworkReader(fr)
 
	networkReader.start()
 
	networkWriter=NetworkWriter(fw)
 
@@ -24,13 +25,13 @@ def connect():
 
	outcoming=networkWriter.input
 
 
	return (s,incoming,outcoming)
 
 
 
def negotiate(incoming,outcoming):
 
	localTree=HashTree.fromFile(open("clientFile.txt",mode="rb"))
 
	localTree=HashTree.fromFile(open(filename,mode="rb"))
 
	blocksToTransfer=[]
 
	nodeStack=collections.deque([0]) # root
 
 
	# initialize session
 
	jsonData={"command":"init", "blockSize":localTree.BLOCK_SIZE, "blockCount":localTree.leafCount, "version":conf.version}
 
	outcoming.put((jsonData,b""))
 
@@ -53,13 +54,13 @@ def negotiate(incoming,outcoming):
 
 
	return blocksToTransfer
 
 
 
def sendData(outcoming,blocksToTransfer):
 
	print(blocksToTransfer)
 
	dataFile=open("clientFile.txt",mode="rb")
 
	dataFile=open(filename,mode="rb")
 
 
	for i in blocksToTransfer:
 
		jsonData={"command":"send", "index":i, "dataType":"data"}
 
		dataFile.seek(i*HashTree.BLOCK_SIZE)
 
		binData=dataFile.read(HashTree.BLOCK_SIZE)
 
src/config.py
Show inline comments
 
version=0
 

	
 
hosts=["10.0.0.33"]
 
hosts=["127.0.0.1"]
 
port=50009
src/server.py
Show inline comments
 
import socket
 
from hashtree import HashTree
 
import queue
 
from networkers import NetworkReader,NetworkWriter
 
import collections
 
import sys
 
 
# debug copy default file
 
import shutil
 
shutil.copyfile("serverFile_.txt","serverFile.txt")
 
origFilename=sys.argv[1]
 
filename=origFilename+"_"
 
shutil.copyfile(origFilename,filename)
 
 
 
localTree=HashTree.fromFile(open("serverFile.txt",mode="rb"))
 
localTree=HashTree.fromFile(open(filename,mode="rb"))
 
 
HOST = ''                 # Symbolic name meaning all available interfaces
 
PORT = 50009              # Arbitrary non-privileged port
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
s.bind((HOST, PORT))
 
s.listen(1)
 
@@ -49,13 +50,13 @@ while True:
 
    
 
    outcoming.put((jsonResponse,binResponse),timeout=2)
 
  
 
  elif jsonData["command"]=="send" and jsonData["dataType"]=="data": # needlessly allow hashes and data in mixed order
 
    print("received data block #{0}: {1}...{2}".format(jsonData["index"],binData[:5],binData[-5:]))
 
    
 
    dataFile=open("serverFile.txt",mode="rb+")
 
		dataFile=open(filename,mode="rb+")
 
    dataFile.seek(jsonData["index"]*localTree.BLOCK_SIZE)
 
    dataFile.write(binData)
 
    dataFile.close()
 
    
 
    # never update the hash tree
 
    
0 comments (0 inline, 0 general)