|
Клиент-серверный чат на WinSock-e
|
|||
---|---|---|---|
#18+
Привет! Я как-то давно наваял для себя клиент-серверный чат, а сейчас вот кое-как выдернул его из своих классов и решил выложить. По ходу навносил разных изменений, так что не все мб гладко работать будет... Собственно мб этот чат кому-то будет интересен? Я запросы на такой встречал, а вот реализации - ни разу. Предлагались идеи юзать: - netsend - но это, мне кажется, не то, да и возможности не те (когда начинал - пробовал его, хотя мб какнить еще раз попробовать) - ms messenger, но опять же проблемы - у одних установлен, у других - нет и тд и тп, а это - взял да и присовокупил к основному приложению. Есть, правда, варианты и по-лучше, например встроенный чат в MS-SQL, но я юзаю бесплатный мускул, а этот вариант чата переписал так, что SQL-сервер вообще не нужен и не используется. Если дельных практических советов дадите, а еще лучше прямо кодом - будет вообще супер! Какие в нем заложены возможности и какие плюсы: - система работает на фоне основного приложения (на Event-ах) - Instant Messenger, т.е. сообщения приходят по факту их отправки - можно отправить спецкоманду, например заставить всех клиентов выйти из программы (для автоапдейта напр.) - клиентская часть не требует winsock.ocx и нет связанных с этим проблем - весь socket написан на WinAPI (код не мой, поделился местный формучанин Константин, за что ему большое спасибо) - серверная часть использует winsock.ocx, поскольку автор класса socket не написал интерфейс Listen, т.к. ему не было нужды, о чем мне и сообщил, а я не осилил - если программа клиента свернута в трей - клиент о приходе сообщения оповещается всплывающим из трея balloon-ом - если прогамма свернута на панель или не в фокусе - "накрыта сверху" другой программой - клиент оповещается мерцанием окна на панели задач - если клиент получает Urgent-сообщение, то прога "вылазит" с ним "наверх" Минусы: - размер сообщения ограничен до 254 символов - невзрачный гуи - глюки и грабли Чего не хватает: - передачи файлов - модных смайлов - разных шрифтов в истории переписки - костылей для стабильности работы :) - участия комьюнити :) Скачать можно здесь - клик по ссылке может приводить к 404, хз почему, но если набрать ссылку в браузер - все ок, а если ее схавает на лету дауновлоадер какой-то, то тоже скачивает... ссыла - хттп://stas.mail15.com/Chat_VFP.zip PS эта тема на foxclub ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2010, 11:44 |
|
Клиент-серверный чат на WinSock-e
|
|||
---|---|---|---|
#18+
Текущая самая острая и наболевшая проблема - это накопление данных в сокете: время от времени сообщения как бы не "доходят" клиенту, т.е. они как бы доходят, но не срабатывает их прием/обработка, т.е. не срабатывает событие получения данных. Похоже на некую буфферизацию - происходит некое накопление. Но ровно в момент когда такой клиент отправит сообщение - то зависшие на приеме сообщения тут же "падают" пачкой. Как с энтим бороться - ума не приложу... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2010, 11:46 |
|
|
start [/forum/topic.php?fid=41&fpage=86&tid=1584822]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 298ms |
total: | 425ms |
0 / 0 |