I wrote two simple socket program. one for sending a file and the other for receiving the file. but when I run it, a curious thing happened. The received file was samller that the sent file.
$ cat receivefile.py #!/usr/local/bin/python # -*- coding: utf-8 -*- import socket import time import string import sys sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('', 9000)) sock.listen(5) try: while True: # 1. client connect, open file newSocket, address = sock.accept() print "Connected from ", address filename = sys.argv[1] f=open( filename, 'wb') # 2. recieve data while True: data = newSocket.recv(8192) if not data: break f.write(data) # 3.close file f.close() print filename, "Received\n" finally: sock.close() $ cat putfile.py #!/usr/local/bin/python # -*- coding: utf-8 -*- import sys import socket import string # "Usage: prog file hostip" filename = sys.argv[1] host = sys.argv[2] f=open(filename, 'rb') s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host, 9000)) while True: data = f.read(8192) if not data: break else: s.send(data) f.close() s.close() print filename, " Sent!\n" $ python receivefile.py save_apache_1.33.tar.gz $ python putfile.py apache_1.33.tar.gz localhost The result is : save_apache_1.33.tar.gz 's size was smaller then the apache_1.33.tar.gz file What is the cause of the problem, can anyone tell me? Thanks. -- http://mail.python.org/mailman/listinfo/python-list