Mark_Titov
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте уважаемые гуру. Представляю вашему вниманию чат для локальной сети. Автор не я, нашел в сети. Нужна ваша помощь в допиливании батничка чата для локальной сети. Батник хорош тем что все реализованно в одном файле и только встроенными средствами! Вот он сам - (тестировал на win XP, если кто может протестируйте пож-ста на win7) Код: @echo off color 1F title Chat v 1.2 cls pushd "%~dp0" if "%~1" == "talk_widget" goto talker set sndMsg=%SystemRoot%\Media\chimes.wav :auth echo. echo.******************************************************************************** echo. —Ђ „‹џ ‹ЋЉЂ‹њЌЋ‰ ‘…€ V 1.2 echo.******************************************************************************** echo. echo. echo. echo. echo ‚ўҐ¤ЁвҐ -®¬Ґа Є®¬- вл ¤«п з в ў зЁб«®ў®¬ д®а¬ ⥠(1-999): echo. set /p chat=^> echo. echo ЏаЁ¤г¬ ©вҐ бў®Ґ Ё¬п ¤«п з в (Ђ-џ \ A-Z): echo. set /p nick=^> start call %0 talk_widget %chat% %nick% :listener cls call title "| Љ®¬- в з в : %chat% | Џ®«м§®ў ⥫м: %nick% |" if exist %chat%_history type %chat%_history if not exist %chat% echo. 2>%chat% :listener_loop ping 127.0.0.1 -n 1 -w 20 > nul set oldtext=%text% set /p text=<%chat% if not "%text%" == "%oldtext%" type %chat% & echo. goto listener_loop :talker set chat=%~2 set nick=%~3 cls call title "| Љ®¬- в з в : %chat% | Џ®«м§®ў ⥫м: %nick% |" call ::cs_in echo [%time:~0,-3%] Ї®«м§®ў ⥫м "%nick%" ЇаЁб®Ґ¤Ё-Ё«бп Є з вг.>%chat% call ::cs_out echo [%time:~0,-3%] Ї®«м§®ў ⥫м "%nick%" ЇаЁб®Ґ¤Ё-Ё«бп Є з вг.>>%chat%_history echo. %msg% >>%chat%_history :talker_loop cls echo. echo ‚ и ⥪бв б®®ЎйҐ-Ёп: echo. set /p msg=^> call ::cs_in echo [%time:~0,-3%] - %nick%: >%chat% echo - %msg% >>%chat% start /min sndRec32.exe /play /close %sndMsg% 1>nul 2>nul call ::cs_out echo [%time:~0,-3%] - %nick%: >>%chat%_history echo - %msg% >>%chat%_history echo. >>%chat%_history goto talker_loop :cs_in if exist "%chat%_cs" ping 127.0.0.1 -n 1 -w 50 > nul set cs_value=%RANDOM% :cs_in_loop echo %cs_value%>%chat%_cs set /p ret=<%chat%_cs if "%ret%" == "%cs_value%" exit /b ping 127.0.0.1 -n 1 -w 10 > nul goto :cs_in_loop :cs_out del %chat%_cs exit /b | Вообщем суть проблемы на данный момент такова - Нужно прикрутить для него приватный чат, на данный момент это пока общий (ни чем не защищенный, ждя всех). А то часто при разговоре 2-х людей кто-нибудь третий влезет и приходится сваливать от туда и создавать новый чат и т.д. Т.е. при создании комнаты чата, нужно выбрать какой чат создавать "Приватный" или "Общий", если приватный, то сразу после ввода номера комнаты чата выдается запрос на создание пароля. Пароль и номер комнаты чата соответственно говориться собеседнику и тот присоединяется. Сам пароль (хоть и примитивно, но все же простым юзерам не догадаться) пишется в корень папки с чатом, и приприсоединении второго юзера чат считывает этот пароль и юзер заходит. Ну это я образно описал, думаю что концепция понятна. на данный момент пока только это, в процессе тестирования может еще что вылезет. На всякий случай выкладываю Программа конвертации из DOS в Win кодировку и обратно., пригодится для русского языка для DOS. МОЖЕТ КТО ЕЩЕ ЧТО МОЖЕТ ПРЕДЛОЖИТЬ В ПЛАНЕ УСОВЕРШЕНСТВОВАНИЯ ЧАТА, БУДУ БЛАГОДАРЕН. (основной критерий - что бы все было встроенными средсвами windows и в одном файле). Заранее благодарю откликнувшихся. | Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 18:11 03-08-2011 | Исправлено: Mark_Titov, 17:17 05-08-2011 |
|