![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2012
Сообщений: 10
|
Всем Привет!!!
1) могу ли рассчитывать, что если буду использовать Socket.RemoteAddress для записи айпишника в БД или просто для проверки ч-л. при одновременном подключении нескольких клиентов данные(йпишники) не перемешаются 2) тоже самое если использовать Socket.Connection[Socket.activeConnections-1].к-л. параметр Например, если хочу сделать вход в систему, с дальнейшей отправкой результата клиенту, т.е Socket.Connection[Socket.activeConnections-1]тому клиенту. спасибо! |
|
|||||
|
Я так понимаю, опыта в этом нет?
1) По сути, какая разница какой метод использовать для получения ip? Ведь записываться он будет в колонку, с соответствующим аккаунтом пользователя (или айди пользователя). А аккаунт пользователя по-любому должен быть уникальным. Ни в коем случае не нужно завязывать эти данные с айди клиента, так как этот показатель может многократно повторяться, со временем, для разных аккаунтов. 2) то же самое. |
|
|||||
|
Регистрация: Oct 2012
Сообщений: 10
|
Да, опыта нет9 Это мой первый проект.
А не подскажете как на ServerSocket (Делфи) для каждого клиента укзать уникальное имя "вручную", которую клиент отправляет при подключении (т.е. логин)??? Чтобы сразу по логину определить, находится клиент на сайте? (если буду искать по айпишнику (есть свои недостатки)). |
|
|||||
|
По делфи не подскажу. Не знаю этого языка. Но тут вопрос не конкретно о делфи (хоть и поставлен немного иначе).
В общем, идея такая. Клиент подключается, регистрируется на сервере (именно как новое подключение), далее он шлет сообщение серверу со своим логином и паролем. На сервере эти данные проверяются, если они есть в базе, то на их основе создается новый объект "аккаунт" содержащий эти данные (если нет, то сначала регистрируется, а потом сразу залогиневается), и далее этот аккаунт попадает в список залогиненых. Объект "аккаунт" и объект "клиент" связаны между собой. Т.е. через клиента можно получить доступ к его аккаунту (если он залогинен), а к клиенту через аккаунт. IP тут вообще ни коим образом использовать не нужно. IP нужен лишь как дополнительная информация о клиенте, которая возвращается по запросу. Так же как, например, время в сети или пинг. |
|
|||||
|
Регистрация: Oct 2012
Сообщений: 10
|
Понятно.
У меня пользователь сначала входит в систему, введя логин и пароль (если нету в БД, то попросят зарегаться или ввести правильные данные). Клиент запоминает его логин. А при отправке сообщения к серверу отправляется что то вроде этого: OTKOGO@KOMY@MESSAGE. И СЕРВЕР создает 3 переменных для "от","кому" и "сообщение", и отправляет получателю на "почту", т.е. в БД получателя. А я хочу проверить, находится ли данный пользователь онлайн. т.е. я как то из списка подключенных к сокету в данный момент пользователей, по логину должен найти нужного =) Я попытался сделаьб так: при входе в систему в БД данного юзера забивается его айпи. а если кто-то другой отправит сообщение, то сервер по логину получателя из БД находит его данный (последний забитый) айпишник и в списке подключенных клиентов ищет тот, айпи которого имеется в этом списке. Вроде работает. При каждом входе в систему обновляется айпишник в БД на тот случай, если пользователь зайдет из др. компа. Может можно ка-то попроще сделать |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|