![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с посылкой файла [D6, Win95/98, Win2k, WinXP]
Dimushkin © (2002-09-12 17:50:00)размером более 32768
формирую буфер и шлю через TClientSoket командой SentBuf
в районе этой цифры приходят либо мусов либо нули
на коротких текстах все нормально в чем дело ума не приложу :-(
exchoper (2002-09-20 15:10:00) [1]Небольшое дополнение, отослаться тоже может не сразу все, недаром тебе SendBuf возвращает число отправленых байт, если оно отлично от "попыташного" то нужно доотправить, ну и так в цикле, при большом буфере так бывает
Dimushkin (2002-09-19 14:35:00) [2]> VN
СПАСИБО за указание правильного направления поиска ошибки (скажем так)
кстати это и в хелпе написано только как-то ВСКОЛЬЗЬ
:-)
REA (2002-09-16 17:50:00) [3]Сокеты поддерживаются компонентами Indy (в D7 встроены новые)
cyborg (2002-09-15 19:07:00) [4]Нет, речь не об этом, они вообще не могут подключиться к моему серверу, либо я к ихнему, тогда вопрос поставлю по другому, вот у моего провайдера есть хттп прокси на порту 3128 вроде, вот как например через этот прокси соединять сокеты как это может делать ICQ?
Vn (2002-09-14 18:12:00) [5]У меня была подобная проблема. Просто на СокетСервере при чтении обязательно контролируй количество принятых из буфера байт. Оно может отличаться в меньшую сторону от 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-13 21:54:00) [6]протокол незнаю.
Ну вот например в конторе одной к инету подключены компьютеры через прокси, или как он там называется, вот с этих компьютеров ко мне не могут достучаться. ICQ же умеет через прокси соединяться, думаю там сокеты используются.
:) что-то как-то по французски написал я...
Digitman (2002-09-13 14:09:00) [7]>cyborg
А протокол-то какой прокси поддерживает ? http ? ftp ? или еще какой-то ?
Digitman (2002-09-13 14:03:00) [8]>dimushkin
Ты код-то будешь приводить ? Или так и будешь яйцами в профиль и анфас довольствоваться ?
Без кода - никаких серьезных рекомендаций ты не получишь
dimushkin (2002-09-13 12:09:00) [9]Сегодня попробовал подробить посылаемый буфер по 16384 и даже меньше...
мусор появляется в районе 200 кБ...
кстати посылал и через SendText -> те же яйца виду с боку :-)
Akella (2002-09-13 10:22:00) [10]У меня таких проблем небыло.
Ты попробуй трасирнуть и перед отсылкой просмотреть твой буфер в памяти (Начиная с адреса и по смещению). Я думаю скорее всего ты туда запихиваешь что-то. А вообще при работе с SENDBUF у меня делфи глючило (и5и6)
cyborg (2002-09-13 10:11:00) [11]Digitman © воспользуюсь случаем и тут скажу, видимо вы не видели мою мессагу, как сокет через прокси заставить работать? Может ссылку на документацию (на русском языке) какую дадите или так расскажете?
Digitman (2002-09-13 08:56:00) [12]так ведь 32768 - это ж ЧИСЛО !!! А не цифра ....
Приводи код
Dimushkin (2002-09-12 19:33:00) [13]позиция в файле 32768 байт
от 3276.. до 3277.. - мусор (совсем не то что я посылаю) :-(
Digitman (2002-09-12 18:37:00) [14]>>в районе этой цифры
какой еще "цифры" ?