DOMINUS
Фев. 16, 2008 00:28:05
Сподіваюсь ніхто не буде проти, якщо я виражусь українською.
В мене виникла проблема в написанні скріпта для пересилання великих файлів мережею.
Я використовую такий код сервера (ця частина відповідає лише за пересилання данних клієнту):
self.path+='\\%s' % self.name
s=open(self.path,'rb')
datcl.send(s.read())
datcl.send('end of trusmition')
Відповідно кклієнтський скріпт приймання такий:
while 1:
dt=dat.recv(4096)
self.loaded+=dt
if dt.endswith('end of trusmition'): break
Ця штука працює, але при розмірах файлів більше 10 Mb виникають великі затримки і сервер практично висить.
Порадьте щось більш оптимальне, будь-ляска
j2a
Фев. 16, 2008 07:00:38
DOMINUS
Фев. 17, 2008 10:58:37
j2a
Дякую, дуже допомогло. Тепер все хоч і не дуже швидко, але стабільно пересилається!!!
bialix
Фев. 17, 2008 20:05:33
DOMINUS
j2a
Дякую, дуже допомогло. Тепер все хоч і не дуже швидко, але стабільно пересилається!!!
в чем прикол писать вопросы на украинском, якщо підпис у вас російською?
j2a
Фев. 17, 2008 20:17:01
bialix, да всё равно. Я и без переводчика понял и вопрос, и ответ :) А вот то, что человек код в bb-тег code не обернул, то да - заслуживает порицания ;)
Ferroman
Фев. 18, 2008 15:26:44
100%
DOMINUS
Фев. 19, 2008 03:00:21
bialix
Підпис взятий з фільму і використовую я його в оригіналі :)
j2a
А код і так всі зрозуміли :)
До речі, я тільки починаю програмити і це перше більш-менш складне, що я зробив. Якщо є не дуже зайнятий народ, то через кілька днів можу закинути повний код ( після того як доведу його до ладу) на загальну оцінку, протестіть, так сказати і напишіть відгуки, можливо поради
bialix
Фев. 19, 2008 15:55:58
j2a
А вот то, что человек код в bb-тег code не обернул, то да - заслуживает порицания ;)
определенно.
DOMINUS
Фев. 23, 2008 01:07:57
В мене готовий більш-менш стабільний код севера і клієнта. Зараз сервер може передавати клієнту файли і папки. Це все працює лише в мережі.
Доступні команди:
list - показує вміст активної папки
chdir - перейти в нову папку, яку перед тим показав “ліст”
rootdir - перейти в кореневий розшар
updir - на рівень вверх
download - закачати папку або файл (файл повинен мати повну назву)
В клієнті передбачено, що у випадку вказання неправильного шляху для збереження, все буде копіюватись на диск С:
Сервер підтримує 2 команди:
add shares - додати папку до кореневого розшару
close server - закрити сервер при наступному конекті
Інтерфейс нульовий поки-що, за це не глуміться з мене. В найближчому часі планую додати конфіг-файл (xml) а також облік користувачів, закачок та іншої інфи за допомогою MySQL, а також веб-інтерфейс до бази данних. Планую налагодити це все для роботи також з нікс-подібними операційними ситемами.
І ще питання ламера: як і де можна вивісити 15kb коду?
j2a
Фев. 23, 2008 07:22:04
DOMINUS
В мене готовий більш-менш стабільний код севера і клієнта. Зараз сервер може передавати клієнту файли і папки. Це все працює лише в мережі.
А протокол какой?