Вверх ↑
Этот топик читают: Гость
Ответов: 704
Рейтинг: 7
#1: 2011-10-31 02:51:32 ЛС | профиль | цитата
Проблема в том, что если нет сокета-приемника, то данные возвращаются. Это нормально? Как тогда послать данные, если первая программа уже запустилась, и шлет, а вторая программа еще не готова, чтоб принять?

code_25623.txt
карма: 0

0
файлы: 1code_25623.txt [527B] [149]
Ответов: 4641
Рейтинг: 334
#2: 2011-10-31 09:51:12 ЛС | профиль | цитата
А чем обоснован выбор UDP а не TCP ?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 3889
Рейтинг: 362
#3: 2011-10-31 12:24:15 ЛС | профиль | цитата
Neo, попробуйте на разных ОС (NT6.x, NT5.x), узнаете, что вдобавок они себя по-разному ведут с UDP. На Вашей есть "эхо", на других его может не быть. Самый надёжный способ - использовать сразу два сокета (можно с разными портами) и не принимать тем же компонентом, что шлёте. Обратите внимание на настройки элементов UDP, они там совсем не случайны, менять можно только адреса и порты, там где они не прописаны, прописывать их нельзя, там, то же касается разных режимов автоматики, перенастроите - могут вылезти неожиданные проблемы на других ОС, доказано практикой при разработке модулей iqsearch.


Add(UDP,3362377,539,182)
{
LocalPort=10155
LocalIP="127.0.0.1"
}
Add(InfoTip,6877187,203,154)
{
Info=#6:PC1_Rx|
Width=211
Height=116
}
Add(InfoTip,12632007,203,322)
{
Info=#6:PC1_Tx|
Width=211
Height=116
}
Add(InfoTip,7848690,448,322)
{
Info=#6:PC2_Tx|
Width=211
Height=116
}
Add(InfoTip,6892410,448,154)
{
Info=#6:PC2_Rx|
Width=211
Height=116
}
Add(UDP,5554602,301,189)
{
LocalPort=10155
LocalIP="127.0.0.1"
}
Add(UDP,5128128,301,364)
{
RemotePort=10155
LocalIP="127.0.0.1"
RemoteIP="127.0.0.1"
AutoConnect=0
ReceiveMode=1
}
Add(UDP,2926693,539,364)
{
RemotePort=10155
LocalIP="127.0.0.1"
RemoteIP="127.0.0.1"
AutoConnect=0
ReceiveMode=1
}
карма: 1

1
Голосовали:Neo
Ответов: 704
Рейтинг: 7
#4: 2011-10-31 13:15:44 ЛС | профиль | цитата
Ravilr писал(а):
А чем обоснован выбор UDP а не TCP ?
Как мне подсказали в соседней теме, он быстрее (в моем случае в пределах одного ПК). И гораздо проще его коннектить/переконнектить. TCP же регулярно приходится коннектить (лучше при каждой отправке) чтоб не получать посылок в никуда. Нормально так и не смог ему логику написать переконнекта для оборвавшегося соединения. Он неправильно (не сразу) показывает статус соединения.
карма: 0

0
Ответов: 4641
Рейтинг: 334
#5: 2011-10-31 21:45:20 ЛС | профиль | цитата
Neo писал(а):
в моем случае в пределах одного ПК)

может лучше майлслот ??
------------ Дoбавленo в 20.45:
MailSlot_ServerMailSlot_Client
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 704
Рейтинг: 7
#6: 2011-11-01 11:24:50 ЛС | профиль | цитата
Не знаю... у меня потоки еще используются и скорость нужна высокая. Советовали именно так ))
карма: 0

0
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)