Вверх ↑
Этот топик читают: Гость
Ответов: 1043
Рейтинг: 33
#1: 2012-06-20 23:28:29 ЛС | профиль | цитата
возможно ли передавать к примеру два потока через tcp одновременно
например
поток_1__>>________________>>__Поток_1
___________>> 127.0.0.1__>>
поток_2__>>________________>>__Поток_2
------------ Дoбавленo в 23.20:
может как то МТ_Потоки помогут?
------------ Дoбавленo в 23.28:
количество передаваемых данных неизвесно
карма: 0

0
Ответов: 195
Рейтинг: 7
#2: 2012-06-20 23:32:26 ЛС | профиль | цитата
можно!! вот пример
code_28274.txt
только не судите строго!)))
карма: 0

1
файлы: 1code_28274.txt [1.8KB] [164]
Голосовали:GAv
Ответов: 845
Рейтинг: 19
#3: 2012-06-20 23:35:09 ЛС | профиль | цитата
hin4 Весьма не плохо
карма: 0

0
Ответов: 195
Рейтинг: 7
#4: 2012-06-20 23:42:15 ЛС | профиль | цитата
ashkalov, Это так только для дальнейшего развития вашей идеи, может это поможет сделать что-то другое!!))
GAv, Спасибо!
карма: 0

0
Ответов: 845
Рейтинг: 19
#5: 2012-06-20 23:45:10 ЛС | профиль | цитата
была подобная проблема,делал что то типа сесий на каждый поток очень гемаройно ,а вот про индексацию что то не подумал
карма: 0

0
Ответов: 1043
Рейтинг: 33
#6: 2012-06-21 00:03:34 ЛС | профиль | цитата
hin4, почти то что нужно , вот только вся проблема заключается в том что количество потоков меняется динамически
------------ Дoбавленo в 00.02:
а индексы заранее установленые
------------ Дoбавленo в 00.03:
ashkalov писал(а):
,делал что то типа сесий

что то типа этого мне и нужно
карма: 0

0
Ответов: 845
Рейтинг: 19
#7: 2012-06-21 13:26:38 ЛС | профиль | цитата
ashkalov Опиши по подробней что в потоках и тд
hin4
пытался твоим способом стрем поток отправить не вышло к сожелению
карма: 0

0
Ответов: 1043
Рейтинг: 33
#8: 2012-06-21 22:17:31 ЛС | профиль | цитата
передача одновременно нескольких файлов серверу
------------ Дoбавленo в 20.49:
Примерно сделал.
Вот если кому надо, так сказать "Шаблон "
Add(MainForm,2953706,21,105)
{
Width=1051
}
Add(Button,882430,70,112)
{
Left=285
Top=115
link(onClick,13838187:doEvent1,[])
}
Add(ListBox,13191363,196,105)
{
Left=455
Top=5
Width=170
Height=255
}
Add(MultiElementEx,13838187,133,112)
{
link(onEventData,13191363:doText,[(181,118)(181,132)])
}
BEGIN_SDK
Add(EditMultiEx,12799579,21,21)
{
WorkCount=#8:doEvent1|
EventCount=#11:onEventData|
Width=489
Height=277
link(doEvent1,8954988:doEvent1,[(31,27)(31,97)])
}
Add(Memory,9665469,399,49)
{
Default=Integer(0)
}
Add(Hub,8954988,42,91)
{
link(onEvent1,9064250:doData,[(74,97)(74,48)])
link(onEvent2,10317246:##add,[(130,104)(130,195)])
}
Add(DoData,9064250,91,42)
{
Data=Integer(0)
link(onEventData,16142798:doEvent1,[])
}
Add(Hub,16355890,343,49)
{
link(onEvent1,9665469:doValue,[])
}
Add(Hub,16142798,196,42)
{
link(onEvent1,9665469:doClear,[(304,48)(304,62)])
link(onEvent2,2088870:doAdd,[(304,55)(304,104)])
}
Add(MathParse,4019120,462,168)
{
DataCount=1
MathStr="%1 -1"
Point(reCalc)
link(X1,2088870:Count,[(468,159)(412,159)])
}
Add(Hub,15597628,273,140)
{
link(onEvent1,2088870:doReplace,[])
link(onEvent2,2367149:doCompare,[(311,153)(311,230)])
}
Add(If_else,2367149,392,224)
{
link(onTrue,7947625:doData,[])
link(Op2,4019120:reCalc,[(405,212)(475,212)])
}
Add(DoData,7947625,448,224)
{
link(onEventData,12799579:onEventData,[(495,230)(495,27)])
link(Data,2088870:Text,[(454,187)(405,187)])
}
Add(StrList,2088870,399,98)
{
Point(doReplace)
link(Str,9665469:Value,[])
}
Add(MultiElementEx,10317246,203,189)
{
link(onEvent1,16355890:doEvent1,[(289,195)(289,55)])
link(onResult,15597628:doEvent1,[(254,202)(254,146)])
link(Data,10317246:##index,[(209,177)(197,177)(197,233)(209,233)])
}
BEGIN_SDK
Add(EditMultiEx,7269258,21,21)
{
WorkCount=#5:##add|
EventCount=#8:onEvent1|8:onResult|
VarCount=#7:##index|
DataCount=#4:Data|
Width=391
Point(##add)
Point(##index)
link(##add,3781941:doEvent1,[(49,27)(49,76)])
}
Add(DoData,8331581,112,70)
{
link(onEventData,7691919:doValue,[])
link(Data,7269258:Data,[(118,46)(27,46)])
}
Add(Timer,6063197,112,119)
{
Interval=0
Enable=1
MakeExt(Interval,,Interval)
link(onTimer,8241006:doNext,[])
}
Add(Hub,3781941,77,70)
{
link(onEvent1,8331581:doData,[])
link(onEvent2,6063197:doTimer,[(101,83)(101,125)])
}
Add(CounterEx,8241006,182,119)
{
link(onNext,422046:doEvent1,[])
}
Add(Hub,422046,231,119)
{
link(onEvent1,7269258:onEvent1,[(329,125)(329,27)])
link(onEvent2,5942516:doData,[(255,132)(255,139)])
}
Add(DoData,5942516,266,133)
{
link(onEventData,12012184:doOperation,[])
link(Data,7691919:Value,[(272,117)(195,117)])
}
Add(Math,12012184,350,133)
{
OpType=1
Op2=1
link(onResult,7269258:onResult,[(397,139)(397,34)])
}
Add(Memory,7691919,189,70)
{
}
END_SDK
END_SDK



Но от улучшения не откажусь)
------------ Дoбавленo в 22.17:
блин, а с данными не катит
карма: 0

0
Ответов: 195
Рейтинг: 7
#9: 2012-06-21 23:41:47 ЛС | профиль | цитата
блин, а с данными не катит

------------ Дoбавленo в 23.41:
то есть это как?
карма: 0

0
Ответов: 1043
Рейтинг: 33
#10: 2012-06-22 20:21:18 ЛС | профиль | цитата
hin4,со stream не получаеться
карма: 0

0
Ответов: 5446
Рейтинг: 323
#11: 2012-06-22 21:19:55 ЛС | профиль | цитата
ashkalov,StreamConvertor в режиме Stream2Hex и Hex2Stream пробовал?
карма: 1

0
Ответов: 876
Рейтинг: 101
#12: 2012-06-23 01:59:49 ЛС | профиль | цитата
если нет ограничений на порты, открывай еще сколько угодно tcp соединений и шли каждый поток отдельно 1000 портов тебе точно хватит
карма: 1

1
Голосовали:ashkalov
Ответов: 1043
Рейтинг: 33
#13: 2012-06-23 12:44:34 ЛС | профиль | цитата
flud писал(а):
открывай еще сколько угодно tcp
идея норм)
------------ Дoбавленo в 12.44:
iarspider писал(а):
Stream2Hex и Hex2Stream пробовал?

данные больше весить будут
карма: 0

0
Ответов: 1043
Рейтинг: 33
#14: 2012-06-24 13:10:47 ЛС | профиль | цитата
сделал схемку передачи файла по кускам в 32768 byte.
Add(FileStream,4881480,224,105)
{
Point(doPosition)
link(onLoad,13269030:doWork2,[(268,111)(268,149)(177,149)(177,188)])
}
Add(ODialog,4557160,119,105)
{
link(onExecute,4881480:doOpen,[])
}
Add(Button,16339852,70,105)
{
Left=10
Top=10
Width=130
Height=30
Caption="Открыть файл"
link(onClick,4557160:doExecute,[])
}
Add(StreamCopy,4482323,224,182)
{
Count=32768
link(onCopy,9286396:doEvent1,[])
link(Dest,7911275:Var1,[(230,160)])
link(Source,4881480:Stream,[(237,160)(230,160)])
}
Add(MemoryStream,15740947,308,105)
{
}
Add(DoData,1617589,462,182)
{
link(onEventData,6760379:doEvent,[])
link(Data,7911275:Var2,[(468,166)(307,166)])
}
Add(GetDataEx,7911275,301,155)
{
Angle=1
link(Data,15740947:Stream,[(314,160)])
}
Add(Hub,9286396,294,182)
{
link(onEvent1,1617589:doData,[])
link(onEvent2,6339815:doOperation,[(322,195)(322,216)])
}
Add(Math,6339815,336,210)
{
Op2=32768
link(onResult,13486780:doEvent1,[])
link(Op1,12377826:Value,[(342,174)(447,174)])
}
Add(Memory,12377826,441,105)
{
}
Add(Hub,13486780,378,210)
{
link(onEvent1,12377826:doValue,[(404,216)(404,111)])
link(onEvent2,14696387:doEvent1,[])
}
Add(Memory,1671108,588,182)
{
}
Add(Timer,13670846,441,266)
{
Interval=0
Enable=1
link(onTimer,6144659:doEvent1,[])
}
Add(Hub,14696387,399,217)
{
link(onEvent1,4881480:doPosition,[(428,223)(428,174)(212,174)(212,125)])
link(onEvent2,13670846:doTimer,[(427,230)(427,272)])
}
Add(Hub,6144659,490,266)
{
link(onEvent1,13670846:doStop,[(533,272)(533,315)(429,315)(429,279)])
link(onEvent2,13269030:doWork3,[(509,279)(509,235)(207,235)])
}
Add(HubEx,13269030,203,182)
{
link(onEvent,4482323:doCopy,[])
}
Add(Debug,6760379,525,182)
{
link(onEvent,1671108:doValue,[])
}



она почему-то не работает
карма: 0

0
файлы: 1code_28302.txt [1.6KB] [96]
Ответов: 1821
Рейтинг: 168
#15: 2012-06-24 13:29:49 ЛС | профиль | цитата
ashkalov, а так code_28303.txt
карма: 5

0
файлы: 1code_28303.txt [1.1KB] [103]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)