def __init__(
         self, sockAddr
 ):  #takes the socket and address tuple returned from .accept()
     Thread.__init__(self)
     self.sock, self.addr = sockAddr  #putting the tuple into seperate variables
     self.fsock = EncapFramedSock(
         sockAddr
     )  #create an object from EncapFramedSock to recieve an EncapFramedSock message from the client
def main():
    arguments = parseArguments()

    addrFamily = socket.AF_INET
    socktype = socket.SOCK_STREAM

    addrPort = (arguments["host"], arguments["port"])

    clientSocket = socket.socket(addrFamily, socktype)

    if clientSocket is None:
        print('could not open socket')
        sys.exit(1)

    clientSocket.connect(addrPort)

    fsock = EncapFramedSock((clientSocket, addrPort))

    sendFile(fsock, arguments["source"], arguments["destination"])
    transferResult = fsock.receive()
    transferResult = transferResult.decode()
    print(transferResult)
コード例 #3
0
    print("Can't parse server:port from '%s'" % server)
    sys.exit(1)

addrFamily = socket.AF_INET
socktype = socket.SOCK_STREAM
addrPort = (serverHost, serverPort)

sock = socket.socket(addrFamily, socktype)

if sock is None:
    print('could not open socket')
    sys.exit(1)

sock.connect(addrPort)

fsock = EncapFramedSock((sock, addrPort))
############################################
print(
    "please write name of file you want to transfer to server(include extension i.e: .txt)"
)
fileName = input()
try:
    with open(fileName, 'r') as fl:
        allLines = fl.readlines()
        if len(allLines) == 0:
            print("file's empty....exiting")
            sys.exit(0)
except FileNotFoundError:
    print("no such file or directory")
    sys.exit(1)
############################################
    print("Can not parse server: port from '%s'" % server)
    sys.exit(1)

addrFamily = socket.AF_INET  #gets the address family(IPv4)
socktype = socket.SOCK_STREAM  #gets the type of scoket(TCP)
addrPort = (serverHost, serverPort)

s = socket.socket(addrFamily, socktype)  #opens a socket

if s is None:
    print("could not open socket")
    sys.exit(1)

s.connect(addrPort)  #establish a connection to the server

encapSock = EncapFramedSock(
    (s, addrPort)
)  #creat a EncapFramesSock object with the socket to use it to encapsulate the contents of the file to send to the server where it will recieve it

fileContents = file.read()  #get the file contents

if len(fileContents) == 0:
    print("File is empty, exit...")
    sys.exit(1)

print("sending filename")

encapSock.send(
    fileName, fileContents, debug
)  #send the encapsulated file contents to server along with the file name
コード例 #5
0
 def __init__(self, sockAddr):
     Thread.__init__(self)
     self.sock, self.addr = sockAddr
     self.threadSock = EncapFramedSock(sockAddr)
server, usage, debug = paramMap["server"], paramMap["usage"], paramMap["debug"]

if usage:
    params.usage()

try:
    print(server)
    HOST, PORT = re.split(":", server)
    PORT = int(PORT)
except:
    print("Can't parse server:port from '%s'" % server)
    sys.exit(1)

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    if s is None:
        print('could not open socket')
        sys.exit(1)

    try:
        s.connect((HOST, PORT))
        encapSock = EncapFramedSock((s, (HOST, PORT)))
        file, filename = getFile()
        data = file.read()
        if len(data) == 0:
            print("Empty file.")
            sys.exit(1)
        print("sending file")
        encapSock.send(filename, data, debug)
        file.close()
    except ConnectionRefusedError:
        print("Could not connect to server!")
fsock = None
for res in socket.getaddrinfo(serverHost, serverPort, socket.AF_UNSPEC,
                              socket.SOCK_STREAM):
    af, socketType, proto, cannonname, sa = res
    try:
        print("Creating Socket: af=%d, type=%d, proto=%d" %
              (af, socketType, proto))
        s = socket.socket(af, socketType, proto)
    except socket.error as msg:
        print(" error: %s" % msg)
        s = None
        continue
    try:
        print("Attempting to connect to %s" % repr(sa))
        s.connect(sa)
        fsock = EncapFramedSock((s, sa))
    except socket.error as msg:
        print("Error: %s" % msg)
        s.close()
        s = None
        continue
    break

if s is None:
    print("Could not open socket")
    sys.exit(1)

files = os.listdir(os.curdir)
print(files)
inputFile = input("Please select a file to send \n")
#Attempt to read input as file
コード例 #8
0
    print("ERROR: Can't parse server:port from '%s'" %server)
    sys.exit(1)


addrFamily = socket.AF_INET
socktype = socket.SOCK_STREAM
addrPort = (serverHost, serverPort)

clientSocket = socket.socket(addrFamily, socktype)

if clientSocket is None:
    print('Could not open socket')
    sys.exit(1)

clientSocket.connect(addrPort)
framedSocket = EncapFramedSock((clientSocket, addrPort))

while True:
    filename = input("Enter file: ")
    filename.strip()

    # exit client
    if filename == "exit":
        sys.exit(0)
    else:
        if not filename:
            continue
        elif os.path.exists(filename):
            # open file and get data 
            file = open(filename, "rb")
            data = file.read()
 def __init__(self, sockAddr):
     Thread.__init__(self)
     self.clientSock, self.cliendAddr = sockAddr
     self.fsock = EncapFramedSock(sockAddr)
socktype = socket.SOCK_STREAM
addrPort = (serverHost, serverPort)

s = socket.socket(addrFamily, socktype)
if s is None:
    print('could not open socket')
    sys.exit(1)

print("Waiting to be connected...")
s.connect(addrPort)
print("Connected...")

while True:
    try:
        filename = input(
            str("Enter a file name to be transferred or enter exit: "))
        if filename == "exit": sys.exit(0)
        sending = open(filename, 'rb')
        break
    except FileNotFoundError:
        print("File Not Found!")

fs = EncapFramedSock((s, addrPort))
data = sending.read()
if len(data) == 0:
    print("File was empty! Try a different file")
    sys.exit(1)
fs.send(filename, data, debug)
print("The file has been transferred successfully!")
s.close()
コード例 #11
0
 def __init__(self, sockAddress):
     Thread.__init__(self)
     self.sock, self.address = sockAddress
     self.fsock = EncapFramedSock(sockAddress)
コード例 #12
0
def client():
    switchesVarDefaults = (
        (('1', '--server'), 'server', "127.0.0.1:50001"),
        (('?', '--usage'), 'usage', False),
        (('d', '--debug'), 'debug', False),
    )

    parameterMap = params.parseParams(switchesVarDefaults)
    server, usage = parameterMap['server'], parameterMap['usage']

    if usage:
        params.usage()

    try:
        serverHost, serverPort = re.split(":", server)
        serverPort = int(serverPort)
    except:
        print("Can't parse server:port from '%s'" % server)
        sys.exit(1)

    port = (serverHost, serverPort)

    # create socket
    listenSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    listenSocket.connect(port)

    encapSocket = EncapFramedSock((listenSocket, port))

    while 1:
        fileName = input("Enter a filename > ")
        fileName.strip()

        if fileName == "exit":  # terminate
            sys.exit(0)
        else:
            if not fileName:
                continue
            elif os.path.exists(PATH + fileName):
                f = open(PATH + fileName, "rb")
                contents = f.read()

                if len(contents) < 1:
                    print("Error: File %s is empty" % fileName)
                    continue
                print("encapSocket Before ********")
                encapSocket.send(fileName, contents)
                print("encapSocket After *********")

                # check if server captured and receive the file
                status = encapSocket.Status()
                status = int(status.decode())

                if status:
                    print("File %s received by server." % fileName)
                    sys.exit(0)
                else:
                    print(
                        "File Transfer Error: File %s was not received by server."
                        % fileName)
                    sys.exit(1)

            else:
                print("File Not Found Error: File %s not found!" % fileName)