UDP FTP server - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Networking (https://python-forum.io/forum-12.html) +--- Thread: UDP FTP server (/thread-5927.html) |
UDP FTP server - msDirecti0n - Oct-29-2017 This is an assignment where I have to create a basic FTP server using UDP and also implement some reliable data transfer. Below is some code that I have so far. I need help in regards to sending and receiving. I can successfully send from my sender code and successfully receive from my receiver code. When I try to send from my receiver (ACK) the sender gets stuck. Any thoughts on how to fix this? Sender.py: from socket import * from Message import * #from Receiver import * import pickle import sys senderIP = '127.0.0.1' senderPort = 5001 senderSocket = socket(AF_INET, SOCK_DGRAM) senderSocket.setblocking(1) filename = 'words.txt' f = open(filename, 'r') m = Message("start", 0, "", 0) m.data = f.read(20) print('\n', m.data) rm = pickle.dumps(m) senderSocket.sendto(rm, (senderIP, senderPort)) f.close() msg, addr = senderSocket.recvfrom(1500) rm = pickle.loads(msg) print(rm.data)Receiver.py: from socket import * from Message import * #from Sender import * import pickle import sys receiverName = '127.0.0.1' receiverPort = 5001 receiverSocket = socket(AF_INET, SOCK_DGRAM) receiverSocket.bind(('', receiverPort)) receiverSocket.setblocking(1) filename = 'words.txt' f = open('new ' + filename, 'w') print("Ready to receive.....") msg, address = receiverSocket.recvfrom(1500) rm = pickle.loads(msg) print(rm.data) print(len(rm.data)) print(rm.create_ack(len(rm.data))) print(rm.seqNum) print(rm.mType) msg = pickle.dumps(rm.mType) receiverSocket.sendto(msg, (receiverName, receiverPort))Message.py: import sys class Message(): def __init__(self): """""""" def __init__(self, mType, seqNum, data, checksum): self.mType = mType self.seqNum = seqNum self.data = data self.checksum = checksum def create_ack(self, ldata): self.data = "" self.seqNum = self.seqNum + ldata self.mType = "ack" self.checksum = 0 RE: UDP FTP server - HybridAK - Oct-29-2017 (Oct-29-2017, 04:59 AM)msDirecti0n Wrote: This is an assignment where I have to create a basic FTP server using UDP and also implement some reliable data transfer. I'm sorry. I'm not sure. RE: UDP FTP server - msDirecti0n - Oct-29-2017 Okay, I figured it out. I was sending it to the wrong IP address. I just changed this line in Receiver.py: receiverSocket.sendto(msg, address) I hope that this was able to help anyone else who may encounter this problem in the future. |