Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];

Вниз

TWSocket   Найти похожие ветки 

 
Axis_of_Evil ©   (2006-10-22 23:12) [0]

[ICS v 5]
Сервер = TTcpDaemon
// 1 в 1 из примера TcpCmd.pas проекта SrvTcp
Клиент = TWSocket.

в обработчике клиентского сокета OnDataSent:
 Socket.Close;

в результате
 на сервер данные не доходят, т.е.
Client connecting: 192.168.0.125
Client disconnecting: 192.168.0.125 Duration: 00:00:00

0) корректно ли вызывать Socket.Close в OnDataSent?
// думается, все же - да
1) в чем может быть причина того, щто данные не доходят?
     в случае отладки приложение - доходят:>
// могу привести код, но в нем ничего необычного не содержится


 
Axis_of_Evil ©   (2006-10-22 23:14) [1]

да и:
ClientSocket.Connect вызывается из обработчика
OnDataAvaible другого TWSocket


 
Axis_of_Evil ©   (2006-10-22 23:19) [2]

прописываем в обработчике OnDataSent:
 Sleep(100);
т.е.
procedure TTCPClientMessenger.DataSent(Sender: TObject; ErrCode: Word);
begin
 Sleep(100);
 Socket.Close;
endl;

все замечательно работает.


 
Axis_of_Evil ©   (2006-10-22 23:23) [3]

непонятно


 
Axis_of_Evil ©   (2006-10-23 22:44) [4]

пункт 0:
http://users.pandora.be/sonal.nv/ics/faq/Frame_index.html

- Close

Attempt to gracefully close the socket.  If there is still some data waiting in the buffers it will try to send it.  Do not use Close from within any TWSocket events, instead use CloseDelayed.


 
Axis_of_Evil ©   (2006-10-23 22:50) [5]

пункт 1)
procedure TTCPClientMessenger.DataSent(Sender: TObject; ErrCode: Word);
begin
 Socket.Shutdown(1);
 ProcessTasks;
end;

..
   Socket.Close;
   Socket.Connect;
..

that"s the way thigs go-oh-oh-oh
                            /The Offspring/


 
Anatoly Podgoretsky ©   (2006-10-23 22:50) [6]

Ну а сам то что используешь, не close конечно нужен.


 
Axis_of_Evil ©   (2006-10-23 23:04) [7]


> Ну а сам то что используешь, не close конечно нужен.

не очень понял, щто значат слова до запятой. честно.
вероятно, надо продуть мозг.
// разъясните все же.

>не close конечно нужен.
я понимал принцип работы т.о., щто вызов OnDataSent свидетельствует
 не только об отправке, но и о доставке. не так понял, бывает.


 
Anatoly Podgoretsky ©   (2006-10-23 23:43) [8]

Вот твой код Socket.Close и между прочим в обработчике!


 
Axis_of_Evil ©   (2006-10-24 08:23) [9]


> Anatoly Podgoretsky ©   (23.10.06 23:43) [8]
> Вот твой код Socket.Close и между прочим в обработчике!

так и было. впервые сevent-driven sockets работаю.
ранее с сокетами имел дело только 1 раз 2 года назад - *nix [blocking] sockets.


 
Anatoly Podgoretsky ©   (2006-10-24 13:15) [10]

Так я тоже первый месяц, вопросы возникают, на некоторые только автор может ответить. И него некоторые отклонения есть.



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

Форум: "Сети";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.038 c
15-1173792956
xayam
2007-03-13 16:35
2007.04.08
Вышла новая версия программы DelphiTo v0.25


2-1174132698
Игорек
2007-03-17 14:58
2007.04.08
Сообщения


15-1173699650
Knight
2007-03-12 14:40
2007.04.08
Книга Фаронова по базам данных стоит того?


15-1173888490
Vlad Oshin
2007-03-14 19:08
2007.04.08
CGI. Генерация html странички. велосипед или самокат?


2-1174385717
gvozdkoff
2007-03-20 13:15
2007.04.08
иконка в приложении





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский