Вверх ↑
Этот топик читают: Гость
Ответов: 37
Рейтинг: 5
#1: 2013-06-18 08:19:55 ЛС | профиль | цитата
Снова доброе время суток. возник вопрос как определить ip пользователя от которого пришли данные на TCP сервере, при передаче dtStream. хотя при dtString всё норм. где ошибка? что не так?

примерчик:
Add(MainForm,5787379,126,196)
{
}
Add(Edit,13944077,539,329)
{
Left=190
Top=80
Width=165
Text="ip"
}
Add(Memo,8243629,539,252)
{
Left=190
Top=105
Width=165
Height=105
}
Add(Button,7363310,140,273)
{
Left=20
Top=120
Width=85
Caption="dtString"
Data=String(dtString)
link(onClick,1694678:doEvent1,[])
}
Add(Button,8594407,112,420)
{
Left=20
Top=150
Width=85
Caption="dtStream"
Data=String(dtStream)
link(onClick,639023:doEvent1,[])
}
Add(TCP_Client,96010,259,280)
{
Port=123
IP="127.0.0.1"
}
Add(Hub,5480009,217,280)
{
OutCount=3
link(onEvent1,12244425:doOpen,[(245,286)(245,237)])
link(onEvent2,96010:doOpen,[(249,293)(249,286)])
link(onEvent3,96010:doSend,[])
}
Add(TCP_Server,12244425,259,231)
{
Port=123
link(onRead,2055465:doSeparateMT,[])
}
Add(MT_MultiData,2055465,308,231)
{
link(onData1,13749121:doEvent1,[(384,237)(384,258)])
link(onData2,5487689:doWork1,[(376,244)])
}
Add(Hub,13749121,504,252)
{
InCount=2
link(onEvent1,8243629:doClear,[(528,258)(528,265)])
link(onEvent2,8243629:doAdd,[(528,265)(528,258)])
}
Add(TCP_Client,5243316,280,427)
{
Port=124
IP="127.0.0.1"
DataType=3
}
Add(Hub,6806385,238,427)
{
OutCount=3
link(onEvent1,7876696:doOpen,[(266,433)(266,384)])
link(onEvent2,5243316:doOpen,[(270,440)(270,433)])
link(onEvent3,5243316:doSend,[])
}
Add(TCP_Server,7876696,280,378)
{
Port=124
DataType=3
link(onRead,3308186:doSeparateMT,[])
}
Add(MT_MultiData,3308186,322,378)
{
link(onData1,15888588:doConvert,[])
link(onData2,13802425:doWork3,[(515,391)])
}
Add(StreamConvertor,15888588,364,378)
{
Mode=6
link(onResult,13749121:doEvent2,[(433,384)(433,265)])
}
Add(StreamConvertor,12478369,189,427)
{
Mode=7
link(onResult,6806385:doEvent1,[])
}
Add(HubEx,13802425,511,329)
{
link(onEvent,13944077:doText,[])
}
Add(DoData,13977832,231,343)
{
link(onEventData,5487689:doWork3,[(376,349)])
}
Add(Hub,1694678,182,273)
{
link(onEvent1,4661872:doWork1,[(206,279)])
link(onEvent2,5480009:doEvent1,[])
}
Add(Hub,639023,154,420)
{
link(onEvent1,4661872:doWork3,[(206,426)])
link(onEvent2,12478369:doConvert,[])
}
Add(HubEx,4661872,202,343)
{
link(onEvent,13977832:doData,[])
}
Add(HubEx,5487689,372,329)
{
link(onEvent,13802425:doWork2,[])
}
карма: 0

0
файлы: 1code_31281.txt [1.6KB] [98]
Ответов: 196
Рейтинг: 43
#2: 2013-06-18 08:42:42 ЛС | профиль | цитата
У меня оба варианта работают.
карма: 2

0
Ответов: 37
Рейтинг: 5
#3: 2013-06-18 08:49:03 ЛС | профиль | цитата
halt, чуть поправил для наглядности
карма: 0

0
Ответов: 9906
Рейтинг: 351
#4: 2013-06-18 10:17:40 ЛС | профиль | цитата
Fidel, обнови [svn]TCP_Server.pas[/svn] [TCP.pas]
мне помогло
карма: 9

0
Ответов: 37
Рейтинг: 5
#5: 2013-06-18 11:01:51 ЛС | профиль | цитата
Galkov, Спасибо помогло
карма: 0

0
Ответов: 9906
Рейтинг: 351
#6: 2013-06-18 11:03:48 ЛС | профиль | цитата
Слушай, nesco -- "не комильфо" как-то наблюдать такое:
D:\Programs\HiAsm\Elements\delphi\code\hiTCP_Server.pas(211) Warning: Variable 'st' might not have been initialized
D:\Programs\HiAsm\Elements\delphi\code\hiTCP_Server.pas(254) Warning: Variable 'st' might not have been initialized

Мне совершенно понятно, что это шиза компилятора (в данном конкретном случае), не более того. Но может таки влепим пару раз
#pas
st := nil;
-- в самое начало методов... Типа: "хай гнида подавится!"
карма: 9

0
Ответов: 4671
Рейтинг: 768
#7: 2013-06-18 11:07:17 ЛС | профиль | цитата
А если в конкретных файлах ставить {$WARNINGS OFF}.....{$WARNINGS ON}?
карма: 26

0
Ответов: 9906
Рейтинг: 351
#8: 2013-06-18 13:40:06 ЛС | профиль | цитата
А вдруг потом (после очередного рукосуйства) это уже окажется НЕ шиза
карма: 9

0
Ответов: 4671
Рейтинг: 768
#9: 2013-06-18 14:05:38 ЛС | профиль | цитата
Есть такая вероятность, но ворнинги, по-моему, ни о чем серьёзном не предупреждают...
карма: 26

0
Ответов: 9906
Рейтинг: 351
#10: 2013-06-18 14:07:34 ЛС | профиль | цитата
Всякое бывает. И у нас "всякое" было -- точно говорю.
карма: 9

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