Server

by ww on March 8th, 2012
No notes
Syntax: Python
Show lines - Hide lines - Show in textbox - Download
import socket
import os
import time
 
class Server():
 
    serverSocket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    serverPort = int(9999)
    serverHost = '127.0.0.1'
 
    file = ''
 
    def __init__(self):
        self.serverSocket.bind((self.serverHost, self.serverPort))
        self.listen()
 
 
    def listen(self):
        while True:
            packet, address = self.serverSocket.recvfrom(512)
 
            mode = str(packet)[2:5]
            self.file = str(str(packet)[6:]).replace("'", "")
 
            if(mode == "RRQ"):
                self.sendResponse(address)
            else:
                self.receiveData()
 
    def receiveData(self):
        data = open("new1.jpg", "wb")
        while True:
            packet, server = self.serverSocket.recvfrom(512)
            if packet.__len__() == 512:
                data.write(packet)
            else:
                data.write(packet)
                break;
 
    def sendResponse(self, address):
        if os.path.exists(self.file):
            msg = "ACK"
            self.serverSocket.sendto(str(msg).encode(), address)
            self.sendData(address)
        else:
            msg = "ERROR: File does not exist."
            self.serverSocket.sendto(str(msg).encode(), address)
 
 
    def sendData(self, address):
        with open(self.file, "rb") as data:
            while True:
                packet = data.read(512)
                if packet != b"":
                    self.serverSocket.sendto(packet, address)
                else:
                    self.serverSocket.sendto(packet, address)
                    break
                time.sleep(0.0005)
 
 
s = Server()
 
 
 
 
 
 

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS