- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
@echo off
cls
pushd "%~d0%~p0"
echo Current DIR: "%CD%"
if "%~1" == "talk_widget" goto talker
rem ////////////////////
:auth
echo Enter chat filename to connect ("abc" for example):
set /p chat=^>
echo Enter your nick:
set /p nick=^>
start call %0 talk_widget %chat% %nick%
rem ////////////////////
:listener
cls
call title "| Chat: %chat% | User: %nick% |"
if exist %chat%_history type %chat%_history
:list_go
ping 127.0.0.1 -n 1 -w 20 > nul
set oldtext=%text%
set /p text=<%chat%
if not "%text%" == "%oldtext%" echo %text%
goto list_go
rem ////////////////////
rem ////////////////////
rem // %2 - chat name //
rem // %3 - user nick //
rem ////////////////////
:talker
set chat=%~2
set nick=%~3
cls
call title "| Chat: %chat% | User: %nick% |"
call ::cs_in
echo (%TIME% %nick% connected)>%chat%
call ::cs_out
echo (%TIME% %nick% connected)>>%chat%_history
:talkloop
cls
echo Dear %nick%, type message to send:
set /p msg=^>
rem call ::cs_in
echo [%TIME% %nick%]: %msg%>%chat%
rem call ::cs_out
echo [%TIME% %nick%]: %msg%>>%chat%_history
goto talkloop
rem ////////////////////
rem ////////////////////
: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
rem ////////////////////
rem ////////////////////
:cs_out
del %chat%_cs
exit /b
rem ////////////////////
rem =========================================================
Чат на BAT. Сколько угодно народу.
Выложите батник в сетевую папку и оттуда запускайте с разных ПК.
Статья с тонкостями: http://k06a.blogspot.com/2009/06/blog-post_27.html
guest 15.08.2009 14:38 # 0
k06a 15.08.2009 21:22 # 0
Постараюсь в следующий раз включить в описание кода самое интересное, во избежание дачи ссылок.
По-моему, когда язык используют не по его назначению - это говнокод. Вы не согласны?
guest 16.08.2009 10:55 # 0
guest 16.08.2009 14:01 # +1
guest 15.08.2009 16:17 # +1
k06a 15.08.2009 21:12 # 0
Отпуск уже тоже кончился. Лежу в госпитале с переломом левого мизинца)))
guest 15.08.2009 17:11 # −5
k06a 15.08.2009 21:19 # 0
guest 16.08.2009 10:19 # −1
guest 17.08.2009 11:30 # +1
k06a 17.08.2009 12:18 # −1
guest 17.08.2009 13:20 # +1
guest 17.08.2009 20:24 # 0
двачеры уже набегают на говнокод, смотрю?
Dvacher 03.09.2022 18:18 # 0
Говногость 31.08.2009 17:19 # 0
guest6 03.09.2022 18:20 # 0
guest 17.01.2010 00:33 # 0
Курили много, но получилось круто)))
Респект автору.