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

Вниз

Проблемы с посылкой файла   Найти похожие ветки 

 
Dimushkin ©   (2002-09-12 17:50) [0]

размером более 32768

формирую буфер и шлю через TClientSoket командой SentBuf
в районе этой цифры приходят либо мусов либо нули

на коротких текстах все нормально в чем дело ума не приложу :-(


 
Digitman ©   (2002-09-12 18:37) [1]

>>в районе этой цифры

какой еще "цифры" ?


 
Dimushkin ©   (2002-09-12 19:33) [2]

позиция в файле 32768 байт
от 3276.. до 3277.. - мусор (совсем не то что я посылаю) :-(


 
Digitman ©   (2002-09-13 08:56) [3]

так ведь 32768 - это ж ЧИСЛО !!! А не цифра ....

Приводи код


 
cyborg ©   (2002-09-13 10:11) [4]

Digitman © воспользуюсь случаем и тут скажу, видимо вы не видели мою мессагу, как сокет через прокси заставить работать? Может ссылку на документацию (на русском языке) какую дадите или так расскажете?


 
Akella ©   (2002-09-13 10:22) [5]

У меня таких проблем небыло.
Ты попробуй трасирнуть и перед отсылкой просмотреть твой буфер в памяти (Начиная с адреса и по смещению). Я думаю скорее всего ты туда запихиваешь что-то. А вообще при работе с SENDBUF у меня делфи глючило (и5и6)


 
dimushkin ©   (2002-09-13 12:09) [6]

Сегодня попробовал подробить посылаемый буфер по 16384 и даже меньше...

мусор появляется в районе 200 кБ...
кстати посылал и через SendText -> те же яйца виду с боку :-)


 
Digitman ©   (2002-09-13 14:03) [7]

>dimushkin

Ты код-то будешь приводить ? Или так и будешь яйцами в профиль и анфас довольствоваться ?

Без кода - никаких серьезных рекомендаций ты не получишь


 
Digitman ©   (2002-09-13 14:09) [8]

>cyborg

А протокол-то какой прокси поддерживает ? http ? ftp ? или еще какой-то ?


 
cyborg ©   (2002-09-13 21:54) [9]

протокол незнаю.
Ну вот например в конторе одной к инету подключены компьютеры через прокси, или как он там называется, вот с этих компьютеров ко мне не могут достучаться. ICQ же умеет через прокси соединяться, думаю там сокеты используются.

:) что-то как-то по французски написал я...


 
Vn   (2002-09-14 18:12) [10]

У меня была подобная проблема. Просто на СокетСервере при чтении обязательно контролируй количество принятых из буфера байт. Оно может отличаться в меньшую сторону от Socket.ReceiveLength.
var
s: string;
l,i: Integer;

begin
l := Socket.ReceiveLength;
SetLength(s,L+1);
i:=Socket.ReceiveBuf(s[1],l);
if i<>l then SetLength(s,i);
....
Setlength(s,0);
end;


 
cyborg ©   (2002-09-15 19:07) [11]

Нет, речь не об этом, они вообще не могут подключиться к моему серверу, либо я к ихнему, тогда вопрос поставлю по другому, вот у моего провайдера есть хттп прокси на порту 3128 вроде, вот как например через этот прокси соединять сокеты как это может делать ICQ?


 
REA   (2002-09-16 17:50) [12]

Сокеты поддерживаются компонентами Indy (в D7 встроены новые)


 
Dimushkin ©   (2002-09-19 14:35) [13]

> VN

СПАСИБО за указание правильного направления поиска ошибки (скажем так)
кстати это и в хелпе написано только как-то ВСКОЛЬЗЬ

:-)


 
exchoper ©   (2002-09-20 15:10) [14]

Небольшое дополнение, отослаться тоже может не сразу все, недаром тебе SendBuf возвращает число отправленых байт, если оно отлично от "попыташного" то нужно доотправить, ну и так в цикле, при большом буфере так бывает



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

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

Наверх




Память: 0.49 MB
Время: 0.018 c
1-45795
kofman
2002-11-02 13:50
2002.11.14
Как грамотно применить операцию @ применительно к процедуре?


7-46158
Vinter
2002-09-12 15:38
2002.11.14
индикатор винта


7-46168
Ш-К
2002-09-13 14:51
2002.11.14
Кто-нибудь работал с ПУ по протоколу ЕРР?


1-45979
AlexanderSK
2002-11-04 17:37
2002.11.14
Выгрузка DLL


1-45863
mikl2002
2002-11-05 15:05
2002.11.14
Путь и Dll