Страница 1 из 1

Запрос личного списка пользователей

СообщениеДобавлено: Вт ноя 25, 2014 9:57 am
SV
Пытаюсь запросить личный список пользователей так:
Код: Выделить всё
const
     MagicString            = #23#6;
     SendingFlags           = '00';
     cs_get_contacts_list   = '0014';

 if IdTCPClient1.Socket.Connected then
   IdTCPClient1.Socket.WriteLn(MagicString + cs_get_contacts_list + SendingFlags);




При этом отключает от сервера, что не так?

Re: Запрос личного списка пользователей

СообщениеДобавлено: Вт ноя 25, 2014 10:40 am
Алексей Пикуров
День добрый.

Сначала нужно авторизоваться под своей учётной записью. Пока сервер не авторизовал пользователя и не проверил его права - ни о каких контактах не может быть и речи.
https://nsoft-s.com/mychat/MyChatJSONprotocol.txt
"Последовательность подключения к серверу и общая схема работы".

Re: Запрос личного списка пользователей

СообщениеДобавлено: Вт ноя 25, 2014 11:24 am
SV
Это само собой:
Код: Выделить всё
800000{"ServPass":false,"ServName":"SV-\u041f\u041a","UpdatePacketVer":"","UTC":3,"RelDate":"09.09.2014","ProtocolVer":"2.6","PortNode":80,"PortHTTP":8083,"PortFTP":20000,"ServerVer":"5.7.0","Registered":"-","HelloMsg":"Welcome to -=MyChat=- Server\r\nCopyright (c) 2004-2014 by Alexey Pikurov \/ Network Software Solutions\r\nWWW: https:\/\/nsoft-s.com\r\nE-Mail: [email protected]\r\nSupport https:\/\/nsoft-s.com\/forum\r\nBlog: http:\/\/blog.nsoft-s.com","UpdatePacketSize":1,"YourIP":"127.0.0.1","HWID":"293383292_0_15-4-2-685332396","Free":false,"ForceUpdate":true,"CurrentDT":"25.11.2014.11.21.02.476"}
800200
801B00{"Days":0}
800400{"RightsSet":"101111111110000001100111101101100000111111100101010000001011001111001000011111111111","BlockedPlugins":[],"AllowedPlugins":[]}
800500{"Avatar":131,"UIN":2,"Sex":1,"AutoAwayTime":15,"InternalNick":"TestUser","Nick":"TestUser","LoginStyle":"login"}
800800{"3":{"CreatorUIN":0,"UsersCount":1,"SyncLogs":false,"Created":"25.11.2014.09.28.11","Secured":false,"Topic":"asd","Name":"123"},"2":{"CreatorUIN":0,"UsersCount":2,"SyncLogs":false,"Created":"25.11.2014.09.28.11","Secured":false,"Topic":"\u0412\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u043d\u0430\u043b","Name":"main"},"1":{"CreatorUIN":0,"UsersCount":2,"SyncLogs":true,"Created":"25.11.2014.09.28.11","Secured":false,"Topic":"\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u043a\u0430\u043d\u0430\u043b \u0447\u0430\u0442\u0430","Name":"\u0413\u043b\u0430\u0432\u043d\u044b\u0439"}}
801F00{"Head":"","Body":"0\u202211\u20224\u2022Customer Service\u20220\u20229\u2022East Division\u20220\u20228\u2022Main Department\u20220\u202211\u2022Marketing Department\u20220\u20227\u2022Catering Services\u20228\u20221\u2022Human Resources (HR)\u20228\u20222\u2022Management\u20228\u20225\u2022Payroll\u20228\u20226\u2022Plant Security\u20228\u202210\u2022Management\u20229\u20223\u2022Research and Development\u20229\u2022"}
801300{"UID":1,"Modes":"{\"MaxUsers\":-1,\"Modes\":\"0011101100\"}","Secured":false,"Operator":false,"Topic":"\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u043a\u0430\u043d\u0430\u043b \u0447\u0430\u0442\u0430","Sync":true,"Name":"\u0413\u043b\u0430\u0432\u043d\u044b\u0439","CRC32":0}
801600{"UID":1,"UsersList":"2\u20220\u2022Elisa\u20226\u20220\u20220\u20220\u20223\u2022TestUser2\u2022161\u20220\u20221\u20220\u2022"}
801500{"UID":1,"Modes":"{\"MaxUsers\":-1,\"Modes\":\"0011101100\"}","Operator":false}
801300{"UID":2,"Modes":"{\"MaxUsers\":-1,\"Modes\":\"0011101101\"}","Secured":false,"Operator":false,"Topic":"\u0412\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u043d\u0430\u043b","Sync":false,"Name":"main","CRC32":0}
801600{"UID":2,"UsersList":"2\u20220\u2022Elisa\u20226\u20220\u20220\u20220\u20223\u2022TestUser2\u2022161\u20220\u20221\u20220\u2022"}
801500{"UID":2,"Modes":"{\"MaxUsers\":-1,\"Modes\":\"0011101101\"}","Operator":false}
800E00
801A00{"UIN":2,"State":0}
807300{"UID":1,"2":{"Avatar":131,"Sex":1,"Op":false,"Nick":"TestUser","State":0}}
807300{"UID":2,"2":{"Avatar":131,"Sex":1,"Op":false,"Nick":"TestUser","State":0}}


Получил обработал данные, потом запрашиваю список личных пользователей, и вот тогда вылетает.

Re: Запрос личного списка пользователей

СообщениеДобавлено: Вт ноя 25, 2014 11:28 am
SV
При этом общий список получаю нормально.

Re: Запрос личного списка пользователей

СообщениеДобавлено: Вт ноя 25, 2014 11:36 am
Алексей Пикуров
Я понял. В функции на сервере ошибка, уже поправил.

Но список контактов сервер высылает автоматически, всем клиентам, которые уже авторизовались, специально спрашивать его не обязательно.

Re: Запрос личного списка пользователей

СообщениеДобавлено: Вт ноя 25, 2014 11:46 am
SV
Хе, точно, сначала не заметил что он отправляет (801F00{"Head":"","Body":"0\u202211\u20224\u2022Customer Service\u20220\u20229\u2022East Division\u20220\u20228\u2022Main Department\u20220\u202211\u2022Marketing Department\u20220\u20227\u2022Catering Services\u20228\u20221\u2022Human Resources (HR)\u20228\u20222\u2022Management\u20228\u20225\u2022Payroll\u20228\u20226\u2022Plant Security\u20228\u202210\u2022Management\u20229\u20223\u2022Research and Development\u20229\u2022"}) я :x :lol:
И всё думал что отправит в ответ клиенту.

Re: Запрос личного списка пользователей

СообщениеДобавлено: Вт ноя 25, 2014 11:57 am
Алексей Пикуров
Исправлено: viewtopic.php?p=16970#p16970

Re: Запрос личного списка пользователей

СообщениеДобавлено: Вт ноя 25, 2014 1:42 pm
SV
И всё равно, приходит при подключении только общий список контактов.
В принципе по логу видно:

Код: Выделить всё
800000{"ServPass":false,"ServName":"SV-\u041f\u041a","UpdatePacketVer":"","UTC":3,"RelDate":"09.09.2014","ProtocolVer":"2.6","PortNode":80,"PortHTTP":8083,"PortFTP":20000,"ServerVer":"5.7.0","Registered":"-","HelloMsg":"Welcome to -=MyChat=- Server\r\nCopyright (c) 2004-2014 by Alexey Pikurov \/ Network Software Solutions\r\nWWW: https:\/\/nsoft-s.com\r\nE-Mail: [email protected]\r\nSupport https:\/\/nsoft-s.com\/forum\r\nBlog: http:\/\/blog.nsoft-s.com","UpdatePacketSize":1,"YourIP":"127.0.0.1","HWID":"293383292_0_15-4-2-685332396","Free":false,"ForceUpdate":true,"CurrentDT":"25.11.2014.13.32.24.667"}
800200
801B00{"Days":0}
800400{"RightsSet":"101111111110000001100111101101100000111111100101010000001011001111001000011111111111","BlockedPlugins":[],"AllowedPlugins":[]}
800500{"Avatar":131,"UIN":2,"Sex":1,"AutoAwayTime":15,"InternalNick":"TestUser","Nick":"TestUser","LoginStyle":"login"}
800800{"3":{"CreatorUIN":0,"UsersCount":1,"SyncLogs":false,"Created":"25.11.2014.09.28.11","Secured":false,"Topic":"asd","Name":"123"},"2":{"CreatorUIN":0,"UsersCount":2,"SyncLogs":false,"Created":"25.11.2014.09.28.11","Secured":false,"Topic":"\u0412\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u043d\u0430\u043b","Name":"main"},"1":{"CreatorUIN":0,"UsersCount":2,"SyncLogs":true,"Created":"25.11.2014.09.28.11","Secured":false,"Topic":"\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u043a\u0430\u043d\u0430\u043b \u0447\u0430\u0442\u0430","Name":"\u0413\u043b\u0430\u0432\u043d\u044b\u0439"}}
[u][i]801F00{"Head":"","Body":"0\u202211\u20224\u2022Customer Service\u20220\u20229\u2022East Division\u20220\u20228\u2022Main Department\u20220\u202211\u2022Marketing Department\u20220\u20227\u2022Catering Services\u20228\u20221\u2022Human Resources (HR)\u20228\u20222\u2022Management\u20228\u20225\u2022Payroll\u20228\u20226\u2022Plant Security\u20228\u202210\u2022Management\u20229\u20223\u2022Research and Development\u20229\u2022"}[/i][/u]
801300{"UID":1,"Modes":"{\"MaxUsers\":-1,\"Modes\":\"0011101100\"}","Secured":false,"Operator":false,"Topic":"\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u043a\u0430\u043d\u0430\u043b \u0447\u0430\u0442\u0430","Sync":true,"Name":"\u0413\u043b\u0430\u0432\u043d\u044b\u0439","CRC32":0}
801600{"UID":1,"UsersList":"2\u20220\u2022Elisa\u20226\u20220\u20220\u20220\u20223\u2022TestUser2\u2022161\u20220\u20221\u20220\u2022"}
801500{"UID":1,"Modes":"{\"MaxUsers\":-1,\"Modes\":\"0011101100\"}","Operator":false}
801300{"UID":2,"Modes":"{\"MaxUsers\":-1,\"Modes\":\"0011101101\"}","Secured":false,"Operator":false,"Topic":"\u0412\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u043d\u0430\u043b","Sync":false,"Name":"main","CRC32":0}
801600{"UID":2,"UsersList":"2\u20220\u2022Elisa\u20226\u20220\u20220\u20220\u20223\u2022TestUser2\u2022161\u20220\u20221\u20220\u2022"}
801500{"UID":2,"Modes":"{\"MaxUsers\":-1,\"Modes\":\"0011101101\"}","Operator":false}
800E00
801A00{"UIN":2,"State":0}
807300{"UID":1,"2":{"Avatar":131,"Sex":1,"Op":false,"Nick":"TestUser","State":0}}
807300{"UID":2,"2":{"Avatar":131,"Sex":1,"Op":false,"Nick":"TestUser","State":0}}

Re: Запрос личного списка пользователей

СообщениеДобавлено: Вт ноя 25, 2014 2:05 pm
SV
Сам накосячил, в функции my_login соответственно подключался под другим пользователем.
Так что всё нормально работает.