Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

Доброго времени суток, Уважаемые! Передача файла TCP   Найти похожие ветки 

 
Novi4ek   (2006-04-12 07:54) [0]

В примерах встречал только передача файла от ServerSocket, к СlientSocket, не подскажите как можно организовать передачу файлов от клиента к серверу? Мне нужно организовать сбор данных,  с машин клиентов на сервер.


 
Сергей М. ©   (2006-04-12 08:14) [1]


> как можно организовать передачу файлов от клиента к серверу?


Точно так же как от сервера к клиенту. Разницы никакой нет.


 
Novi4ek   (2006-04-12 08:26) [2]


> Точно так же как от сервера к клиенту. Разницы никакой нет.

когда от одного клиента к серверу, может и нет, а когда 10 машин одновременно будут передавать файлы,  не нужно ли создавать потоки?


 
Сергей М. ©   (2006-04-12 08:35) [3]


> а когда 10 машин одновременно будут передавать файлы,


.. то для каждой "машины" на стороне сервера будет возникать отдельное событие  OnClientRead, по второму параметру обработчика которого можно отличить одну "машину" от другой.


> нужно ли создавать потоки?


Какие ? Stream ? Thread ?


 
Novi4ek   (2006-04-12 09:46) [4]


> Какие ? Stream ? Thread ?

со стороны клиента я отправляю даныые
Socket.sendstream
на стороне сервера принимаю и сохраняю тоже в поток


 
Сергей М. ©   (2006-04-12 09:56) [5]


> на стороне сервера принимаю и сохраняю тоже в поток


Понятно.

Какие проблемы возникли в связи с этим ?


 
Novi4ek   (2006-04-12 10:41) [6]


> Какие проблемы возникли в связи с этим ?

использую переделанный пример
http://www.sources.ru/delphi/delphi_send_files_tcs_tss.shtml

проблема в том, что там есть переменная Reciving, и она меняет свое значение, при подключении клиента, она меняяет значение, и иногда возникает путаница


 
Сергей М. ©   (2006-04-12 11:31) [7]

Такой флаг как Reciving должен быть заведен для каждого клиента на стороне сервера


 
Novi4ek   (2006-04-12 14:23) [8]


> Такой флаг как Reciving должен быть заведен для каждого
> клиента на стороне сервера

не подскажите как это можно оргкнизовать?


 
Сергей М. ©   (2006-04-12 14:29) [9]

Да очень просто.

Объект TCustomWinSocket, передаваемый тебе 2-м параметром в методы обработки событий OnClientConnect/Disconnect/Read, имеет св-во Data: Pointer, в котором можно хранить указатель на структуры данных, ассоциированных с данным конкретным клиентом.

Например,

type

 TClientData = packed record
   Receiving: Boolean;
   Stream: TStream;
 end;


 
Novi4ek   (2006-04-12 15:26) [10]

чем дальше в лес....
Вы не могли бы дать ссылку, где можно подробнее почитать. тлт может на примерчик?


 
Сергей М. ©   (2006-04-13 08:50) [11]

http://vmcl.kiev.ua/?id=view_article&aid=2


 
Novi4ek   (2006-04-13 10:55) [12]


> Сергей М.

Благодарю Уважаемый, за науку!
Спасибо ОГРОМНОЕ!



Страницы: 1 вся ветка

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
2-1144648843
vvrz
2006-04-10 10:00
2006.04.30
Мемо в MS SQL Server


2-1144790278
Skandri
2006-04-12 01:17
2006.04.30
INI, меню и др.


15-1144042569
WondeRu
2006-04-03 09:36
2006.04.30
Wiki. Раз сайт никто не хочет приводить в порядок...


2-1144830206
kay
2006-04-12 12:23
2006.04.30
Динамичесоке создание компоненты в потоке - не получается


2-1144760457
ANB
2006-04-11 17:00
2006.04.30
Как в Ворде заменить кусочек параграфа ?