Вверх ↑
Этот топик читают: Гость
Ответов: 3851
Рейтинг: 159
#31: 2008-11-24 19:01:21 ЛС | профиль | цитата
протокол это правила обмена между серваком (mail.ru) и клиентом (агентом), открыть его можно наверное на сайте производителя (mail.ru, я подозреваю, что Dilma его там и взял).
про методя я сам ничё не знаю, особливо как их дописывать, а то бы может взялся..
карма: 0
начавший
1
Голосовали:EcsTasY
Ответов: 590
Рейтинг: 19
#32: 2008-11-24 19:06:58 ЛС | профиль | цитата
мда... но всё ровно пасиб)
карма: 0

1
Голосовали:flud
Ответов: 3851
Рейтинг: 159
#33: 2008-11-24 20:08:08 ЛС | профиль | цитата
чево "пасиб" - когда сделаешь, говори, мне тоже надо
карма: 0
начавший
0
Ответов: 590
Рейтинг: 19
#34: 2008-11-25 21:18:17 ЛС | профиль | цитата
гГГ наврядли я смогу.. (

------------ Дoбавленo:


Андрей., как ты и просил... )) отправка/прием файлов по tcp. Для отправки кому либо, нужно знать ip компа, и порт, на который установлен прием


#sha
Add(MainForm,2953706,28,35)
{
Width=299
Height=165
}
Add(TCP_Client,2822527,357,98)
{
Port=775
DataType=3
link(onConnect,12004933:doEvent1,[])
link(onDisconnect,12004933:doEvent2,[])
link(IP,8224646:Left,[])
link(Port,8224646:Right,[(377,90)(370,90)])
}
Add(Button,7135439,259,70)
{
Left=160
Top=50
Caption="On"
Data=Integer(12)
Point(doEnabled)
link(onClick,2822527:doOpen,[(324,76)(324,104)])
}
Add(ZLIB,27261,301,357)
{
link(onStream,15592199:doEvent1,[])
}
Add(FileStream,13052961,455,350)
{
Mode=1
AutoCopy=0
Point(doCopyFromStream)
link(FileName,11549278:GetData,[])
}
Add(Hub,15592199,343,357)
{
link(onEvent1,7211807:doExecute,[])
link(onEvent2,13052961:doCopyFromStream,[])
}
Add(SDialog,7211807,392,357)
{
link(onExecute,11549278:doData,[(440,363)(440,265)])
}
Add(EventFromData,11549278,455,259)
{
}
Add(CheckBox,10445216,98,392)
{
Left=15
Top=5
Width=105
Caption="Прием файлов"
Point(doEnabled)
link(onCheck,14670103:doCompare,[])
}
Add(Button,6034646,259,105)
{
Left=160
Top=75
Caption="Off"
link(onClick,2822527:doClose,[])
}
Add(TCP_Server,61453,231,392)
{
Port=775
DataType=3
Point(onServerConnect)
Point(onServerDisconnect)
link(onRead,27261:doDeCompress,[(282,398)(282,370)])
link(Port,292561:Text,[])
link(onServerConnect,4285370:doEvent1,[])
link(onServerDisconnect,4285370:doEvent2,[])
}
Add(Hub,56102,196,189)
{
OutCount=3
link(onEvent1,66235:doOpen,[(244,195)(244,153)])
link(onEvent2,43492:doCompress,[])
link(onEvent3,66235:doClose,[(250,209)(250,160)])
}
Add(FileStream,66235,259,147)
{
}
Add(ZLIB,43492,259,196)
{
link(onStream,2822527:doSend,[(324,202)(324,118)])
link(Stream,66235:Stream,[])
}
Add(Button,8822426,98,189)
{
Left=160
Top=100
Caption="File"
link(onClick,2458859:doExecute,[])
}
Add(If_else,14670103,147,392)
{
Op2=Integer(1)
link(onTrue,61453:doOpen,[])
link(onFalse,61453:doClose,[])
link(Op1,10445216:Checked,[(153,380)(129,380)(129,436)(104,436)])
}
Add(ODialog,2458859,147,189)
{
link(onExecute,56102:doEvent1,[])
}
Add(Edit,8670752,357,7)
{
Left=160
Top=25
Width=120
Text="127.0.0.1:775"
link(onChange,8224646:doSplit,[(401,13)(401,34)(345,34)(345,55)])
}
Add(Switch,11759820,448,105)
{
DataOn=Integer(0)
DataOff=Integer(1)
link(onSwitch,7135439:doEnabled,[(492,111)(492,93)(247,93)(247,76)])
}
Add(Hub,12004933,406,105)
{
InCount=2
OutCount=1
link(onEvent1,11759820:doSwitch,[])
}
Add(Edit,292561,238,294)
{
Left=50
Top=30
Width=60
Text="775"
DataType=1
Point(doEnabled)
link(onChange,1642799:doCompare,[])
}
Add(Label,1775603,112,14)
{
Left=15
Top=35
Width=32
Height=17
Caption="Порт:"
}
Add(Switch,9611638,329,413)
{
DataOn=Integer(0)
DataOff=Integer(1)
link(onSwitch,292561:doEnabled,[(373,419)(373,339)(226,339)(226,314)])
}
Add(Hub,4285370,287,413)
{
InCount=2
OutCount=1
link(onEvent1,9611638:doSwitch,[])
}
Add(StrMask,1642799,294,294)
{
Mask="###"
link(onFalse,15504034:doOn,[(338,300)(338,307)])
link(onTrue,15504034:doReset,[(338,307)(338,300)])
}
Add(Switch,15504034,350,287)
{
DataOn=Integer(0)
DataOff=Integer(1)
Point(doOn)
link(onSwitch,10445216:doEnabled,[(394,293)(394,349)(86,349)(86,405)])
}
Add(StrPart,8224646,357,49)
{
Char=":"
Point(Left)
Point(Right)
link(Str,8670752:Text,[])
}
Add(Label,5906906,109,77)
{
Left=160
Top=5
Width=98
Height=17
Caption="ip:порт получателя"
}
Add(ChildPanel,3602465,21,98)
{
}
BEGIN_SDK
Add(EditMulti,15394550,21,21)
{
}
Add(Panel,13012933,35,105)
{
Left=135
Top=5
Width=5
Height=125
}
END_SDK
------------ Дoбавленo:

p.s. такой способ позаимствован из одной программы, с помощью которой можно по tcp использовать голосовое общение
карма: 0

1
Голосовали:flud
Ответов: 3851
Рейтинг: 159
#35: 2008-11-25 21:52:09 ЛС | профиль | цитата
EcsTasY, прикольная скема я тоже пользую нечто подобное для голосового общения, вот только неприятность одна есть - белый IP нужен (хотя бы одному из двух собеседников), а они сейчас всё реже встречаются..
карма: 0
начавший
0
Ответов: 590
Рейтинг: 19
#36: 2008-11-25 23:12:42 ЛС | профиль | цитата
угу... можно конеш сделать БД, при входе user'a в БД сохраняется его ник и ип, если кто нибудь хочет с ним пообщаться, то просто вводит ник, это всё дело идёт на серв и серв отсылает ip... но вот чет у меня мускул не робит(((( (скачаные схемы)... вроде в dll'ке беда(
карма: 0

-1
Голосовали:flud
Ответов: 3851
Рейтинг: 159
#37: 2008-11-26 10:09:03 ЛС | профиль | цитата
можно и таблицей обойтись. И опять же IP фиксированные далеко не у всех, но если в своей подсети, то - ДА.
карма: 0
начавший
0
Администрация
Ответов: 15295
Рейтинг: 1519
#38: 2008-11-26 11:00:28 ЛС | профиль | цитата
Андрей. писал(а):
И опять же IP фиксированные далеко не у всех

после глобального перехода на IPv6 ситуация будем надеется изменится в лучшую сторону... Сегодня же писать программы для инета с надеждой на наличие статического IP одного из участников - занятие бессмысленное.
карма: 27
0
Ответов: 3851
Рейтинг: 159
#39: 2008-11-26 13:54:40 ЛС | профиль | цитата
вдруг у него есть где сервер поставить..
карма: 0
начавший
0
Ответов: 590
Рейтинг: 19
#40: 2008-11-26 14:53:12 ЛС | профиль | цитата
я грю.. не проще чтоб при входе пользователя его ip отправлялся на сервер? по такому принципе no-ip.com и строится... как я понимаю
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#41: 2008-11-26 16:02:05 ЛС | профиль | цитата
EcsTasY писал(а):
я грю.. не проще чтоб при входе пользователя его ip отправлялся на сервер?

а дальше что?
карма: 27
0
Ответов: 590
Рейтинг: 19
#42: 2008-11-26 16:52:44 ЛС | профиль | цитата
А дальше например... user1 кликает на user2 > send, после чего делается запрос на сервер о ip, ip сам ставится в поле, вот и всё... но эт тока теория... на деле тяжеловато сделать...
карма: 0

0
Ответов: 2125
Рейтинг: 159
#43: 2008-11-26 17:12:54 ЛС | профиль | цитата
EcsTasY, а почему бы не воспользоваться компонентом DynDNS? Да, нужна регистрация, но по другому - это баловство.
карма: 1

0
Ответов: 590
Рейтинг: 19
#44: 2008-11-26 18:12:09 ЛС | профиль | цитата
ммм ну его я не юзал..
карма: 0

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