Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

ClientSocket & ServerSocket   Найти похожие ветки 

 
hfa ©   (2004-01-09 14:28) [0]

Я написал маленький чат а теперь если можно помогите мне разобраться вот в чем.. как посылать не только текст а картинки, цвета, стили ... Допустим чтобы все юзеры высвечивались разными цветами и у каждого был свой личный цвет текста например в одиго приходит текст от юзера с цветом выбранным им...заранее спасибо


 
Fredericco ©   (2004-01-09 15:13) [1]

Придумываешь свой протокол предачи данных, например:
Вася хочет послать мессагу Пете, мессага красного цвета:
Пакет длинною
Байты:
1 - #2 Стартовый байт
2 - Признак пакета (мессага, картинка, служебная инфа и т.д.)
3..4 - ID отправителя (0..65536)
5..6 - цвет и стиль отправителя (256 цветов, 256 стилей)
7..8 - ID получателя (0..65536)
9..10 - цвет и стиль получателя (256 цветов, 256 стилей)
11..14 - запасные байты, вдруг зачем пригодятся ...
15..N - тело пакета
N+1 - #3 Стоповый байт
Цвет, стиль и даже картинки в тексте лучше прописывать в теле пакета с помощью тегов. Пример строки с тегами для стиля, цвета и картинки:
<font color=255 type=Comic Sans MS>Привет <Ж>Вася!</Ж><img pos=74 len=12>Это позиция в строке номер 74, тут идут данные самой картинки, длинной 78 байт


 
Rouse_ ©   (2004-01-10 22:15) [2]

> [1] Fredericco ©   (09.01.04 15:13)
Федь, не экономично, соишком много избыточной информации...

Мое предложение таково:
Картинка отсылается один раз за сессию - при входе пользователя в чат, цвет и стиль тоже при входе...
Если картинка или стиль - цвет изменились - повторная отправка...

Следовательно снимаем лишнюю нагрузку с сети (хотя если для локалки - то это не сильно скажется)

Да, и в качестве разделителя я обычно использую #0 (ну т.е. в байтововом эквиваленте) - тогда отпадает необходимость структурировать пакеты


 
iWorm ©   (2004-01-12 05:20) [3]

hfa  в продолжении мысли Rouse_
а еще лучше завести БД на сервере:)

кстати я такую программу тоже счас пижу, но вот с БД у мня некоторый ступор щас, поэтому передаю инфу примерно по способу Fredericco толька структура другая.



Страницы: 1 вся ветка

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.034 c
3-1077126980
Karlson
2004-02-18 20:56
2004.03.28
Построчный select


7-1071165120
~GaMeRd~
2003-12-11 20:52
2004.03.28
Все имена в таскбаре.


6-1074266376
Method
2004-01-16 18:19
2004.03.28
Без сервера TCP IP....


3-1077177888
SerKom
2004-02-19 11:04
2004.03.28
Select Имя_поля As Имя1, Любая_функция(Имя1)?


14-1077718833
Undert
2004-02-25 17:20
2004.03.28
MySQL