Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2021-05-22 09:01:10 |
|||
карма: 0 |
|
Ответов: 2125
Рейтинг: 159
|
|||
HELP писал(а): Личный чат уже готовНу и где он? |
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
При получение сообщения сервером оно должно отсылаться на все клиенты, подключенные к нему, кроме источника сообщения. Ничего вроде сложного.
|
|||
карма: 27 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2021-05-22 09:01:10 |
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2021-05-22 09:01:10 |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
HELP,
1) приложения подобного рода всегда выполняются ввиде двух компонент - сервера и клиента. Сервер запускается отдельной программой и все остальные к нему подсоединяются. 2) для реализации выборочной отправки по ИП клиента элемент TCP_Server не применим. Нужно делать чат на основе TCP_ServerEx. |
|||
карма: 27 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2021-05-22 09:01:11 |
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2021-05-22 09:01:11 |
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2021-05-22 09:01:11 |
|||
карма: 0 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Зачем-же тогда в клиентской программе TCP_Server?
TCP_Server должен быть на сервере, а TCP_Client - у клиента. Клиент указывает адрес сервера, к нему и коннектится. А сообщения идут в обоих направлениях по одному соединению. Если у тебя сервер на основе TCP_Server, сообщения ты можешь фильтровать в клиенте (т.е. если не мне, то не показывать). Кому предназначено сообщение (а также от кого, а ещё можно сделать служебные команды) посылать естесственно вместе с сообщением. Например посылать строки в таком формате: кому/от_кого/строка сообщения кому/от_кого/строка сообщения кому/от_кого/строка сообщения ------------ Дoбавленo: Dilma, а ты не находишь, что в TCP_Server есть глюк? doSend делает для каждого соединения ReadXXX, а в итоге данные посылаются лишь тому, кто подключился первым. Это можно, конечно, побороть так:
Но так ли было задумано? |
|||
карма: 1 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2021-05-22 09:01:11 |
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2021-05-22 09:01:11 |
|||
карма: 0 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Я не выкладываю не проверенных схем. Я запускал мою вышеуказанную схему, открывал несколько копий Telnet, подключался к серверу и то, что я писал в одном из окон Telnet, отображалось везде.
|
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
да это ошибка. Добавлено.
HELP писал(а): Нет, всё равно сообщения видит только 1 подключившийся!не вижу в схеме использование точки doSend у сервера |
|||
карма: 27 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Dilma писал(а): Добавлено.Ну вот теперь выглядит гораздо красивше |
|||
карма: 1 |
|