elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Enviar y recibir informacion en LAN con BATCH
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Enviar y recibir informacion en LAN con BATCH  (Leído 7,497 veces)
branon32

Desconectado Desconectado

Mensajes: 29


Hello World


Ver Perfil
Enviar y recibir informacion en LAN con BATCH
« en: 21 Noviembre 2019, 17:09 pm »

Pues lo que dice el titulo, tengo un montón de PCs intraconectados y quiero poder enviar y recibir informacion entre ellos a través de un archivo .bat para poder comunicarme con los compas sin que nos vea la profe :v


En línea

sit tibi terra levis
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Enviar y recibir informacion en LAN con BATCH
« Respuesta #1 en: 21 Noviembre 2019, 17:19 pm »

batch es solo un manejador de archivos por lote, no es un leguaje de programacion... en pocas palabras, si no hay en la pc algun programa de inercomunicacion, batch no puede hacer nada... no se si windows tendrá algo así de fabrica...


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
branon32

Desconectado Desconectado

Mensajes: 29


Hello World


Ver Perfil
Re: Enviar y recibir informacion en LAN con BATCH
« Respuesta #2 en: 22 Noviembre 2019, 12:05 pm »

Se puede hacer, pero hay que darle vueltas
En línea

sit tibi terra levis
M401

Desconectado Desconectado

Mensajes: 119


:$


Ver Perfil
Re: Enviar y recibir informacion en LAN con BATCH
« Respuesta #3 en: 26 Noviembre 2019, 18:00 pm »

batch es solo un manejador de archivos por lote, no es un leguaje de programacion... en pocas palabras, si no hay en la pc algun programa de inercomunicacion, batch no puede hacer nada... no se si windows tendrá algo así de fabrica...
Se Refiere a comunicarse por LAN, no por internet, Pero, Si se puede.

 Ya hice un programa que lo hace, Pero como no tengo 2 computadores, No lo he probado bien, Pero por lo visto si funciona(Según un amigo mio)
En línea

Pero aunque los que sepan me digan que no, yo sé muy bien que existe el lado oscuro del sol. – El lado soleado de la calle
M401

Desconectado Desconectado

Mensajes: 119


:$


Ver Perfil
Re: Enviar y recibir informacion en LAN con BATCH
« Respuesta #4 en: 26 Noviembre 2019, 18:38 pm »

Yo hice un pequeño programa, PERO yo no lo he podido probar por mi cuenta, Se lo dí a un amigo mio, ya que el tiene varias computadores Y yo no, me dijo Que Funcionaba Perfectamente, Asi que si no les funciona, Por favor avisadme  ;D

Primero Deben Poner Estos comandos en un Archivo .bat, Que sería el Visualizador:

Chat.bat =
Código:
@echo off
color 0b
title Visualizador

echo.
echo Ingresar Ubicacion del Servidor.txt, Encerrado en [""], Ej: "\\USER-PC\..."
echo.
set/p servidor=Servidor :

start LC-writer.bat

:a
@mode con cols=60 lines=30
cls
echo.
type %servidor%
echo.
timeout/t 1 /nobreak>nul
goto a

Luego Crean otro archivo .bat Que seria LC-Writer.bat

LC-Writer.bat =
Código:
@echo off
color 0a
title Writer
echo.
echo Ingresar Ubicacion del Servidor.txt, Encerrado en [""], Ej: "\\USER-PC\..."
echo.
set/p servidor=Servidor :
cls

echo.
set/p nombre=Ingresar nombre :

echo %nombre% Se ha unido al Chat>>%servidor%

:a
@mode con cols=60 lines=15
cls
echo.
set/p escritura=Escribe algo :
(
echo.
echo %nombre% : %escritura% ) >>%servidor%
goto a




Luego de que Hallan creado esos 2 archivos, Deben hacer un Archivo.txt, Que es donde se almacenará el Chat; Tienen que guardarlo en el computador principal, Y que los demas entren a ese PC por red (\\User-pc\blablabla), En donde dice, Ingresar Servidor; Luego se les abrirá automaticamente el Writer.bat para que Vuelvan a ingresar el servidor y a Ingresar sus nombres para que Aparezcan en la Conversacion.

PD: Servidor es El Archivo TXT que Está en el PC Principal, Solo lo llame Así porque sí, Ustedes pueden Ponerle cualquier nombre a ese .TXT.

 Y eso sería todo, Si tiene algún error Por favor avisen  :)
« Última modificación: 27 Noviembre 2019, 21:44 pm por Mudereded401 » En línea

Pero aunque los que sepan me digan que no, yo sé muy bien que existe el lado oscuro del sol. – El lado soleado de la calle
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Enviar y recibir informacion en LAN con BATCH
« Respuesta #5 en: 26 Noviembre 2019, 18:49 pm »

hmm interesante implementacion! XD a falta de recursos un archivo sobre smb! XD

muy creativo e ingenioso! ;) no se me habría ocurrido
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
branon32

Desconectado Desconectado

Mensajes: 29


Hello World


Ver Perfil
Re: Enviar y recibir informacion en LAN con BATCH
« Respuesta #6 en: 27 Noviembre 2019, 16:10 pm »

Muchas gracias a todos!

Al final lo resolví yo solo, al principio pensé en utilizar el comando waitfor para enviar una señal entre todos los pc para que refrescaran. Pero no funcionaba muy bien y el resultado ha sido este:

  • Uno de los ordenadores en intranet funcionará como servidor, los clientes leerán todo el chatroom en un archivo de texto dentro del servidor.
  • Dentro del servidor hay un archivo de texto (server.ccc), configuracion que leerán todos los clientes
  • En lugar de refrescar cada vez que alguien escribe un mensaje (Esto se me ocurrió para que no ande parpadeando constantemente), se refresca cada cierto tiempo (latencia establecida en la configuracion server.ccc) con timeout . Pensé que esto provocaría un parpadeo constante pero en realidad ha resultado ser completamente cómodo para la vista y no parpadea en absoluto
  • Como no he podido evitar tener que hacer dos ventanas separadas para leer y escribir en el chat respectivamente, he conseguido una "extension" que puede manejar ventanas, y así poner una siempre encima de la otra para que no estén muy separadas. Es un poco cutre pero le da el toque estúpido y rudimentario que buscaba en el chat



Por aquí os dejo el código fuente y un enlace para descargar los archivos
En la linea 19 está la dirección generalizada de todos los PCs de mi clase, así que vosotros debéis poner la vuestra personalizada

ENLACE GITHUB: https://github.com/bruneo32/TIC-CHAT

En este proyecto estoy usando 3 "extensiones" para batch:
  • Insertbmp: Sirve para insertar imagenes bmp en batch
  • Cursor: esta la hice yo con c++, sirve para colocar el cursor en cualquier posicion
  • Cmdow: esta hace muchas cosas sobre las ventanas pero yo la quería generalmente para mover la ventana del chat en funcion de la ventana de texto

Lo que yo llamo "extensiones" son archivos ejecutables (.EXE) que implementan nuevas funciones y comandos en batch

Código
  1. @echo off
  2. SETLOCAL EnableDelayedExpansion
  3. mode 90,30
  4. title TIC CHAT
  5.  
  6. REM Multiproceso
  7. :startExtraThread
  8. if not "%1" == "" goto %1
  9.  
  10. REM ESTO ES PARA LOS COLORES
  11. for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
  12.  set "DEL=%%a"
  13. )
  14.  
  15. cls
  16. set/p "serv=Servidor: Inves"
  17. if [%serv%]==[] exit
  18. set "serverf=\\Inves%serv%\D\Mis Documentos\CT\_SERVER"
  19.  
  20. REM cargar datos del servidor (server.ccc)
  21. < "%serverf%\server.ccc" (
  22. set/p ccolor=
  23. set/p wcolor=
  24. set/p wtext=
  25. set/p cfrec=
  26. )
  27. color %ccolor%
  28. set file=%serverf%\roomdata
  29.  
  30. :start
  31. cls
  32. REM Se alternan todos los colores para limpiar el buffer de la imagen
  33. color f0
  34. color 0f
  35. color %ccolor%
  36.  
  37. REM Insertar la foto
  38. call "%serverf%\insertbmp.exe" /p:"%serverf%\banner.bmp" /x:0 /y:12 /z:100
  39.  
  40. REM Establecer la posicion del texto con 'cursor'
  41. call "%serverf%\cursor.exe" 3 20
  42. REM Aqui se llama a la funcion que colorea el texto
  43. call :ColorText %wcolor% "%wtext%"
  44. call "%serverf%\cursor.exe" 4 22
  45. set/p "nick=Seudonimo: "
  46. if [%nick%] == [] goto start
  47.  
  48. REM Iniciar el textbox
  49. start "" "%0" TEXTUAL %serv% %nick% %ccolor%
  50. call "%serverf%\cmdow" @ /TOP
  51. echo -- %nick% se ha unido  [%time%]>> %file%
  52.  
  53. :chat
  54. cls
  55. color f0
  56. color 0f
  57. color %ccolor%
  58.  
  59. TITLE TIC CHAT2
  60.  
  61. REM Leer todos los mensajes
  62. for /f "tokens=*" %%A in (%file%) do ( echo %%A )
  63.  
  64. REM Obtener la posicion de la ventana del textbox
  65. for /f "tokens=2,8-9" %%a in ('%serverf%\cmdow "TIC CHAT" /p') do (
  66. set "LEFT=%%b" & set "TOP=%%c"
  67. )
  68. REM Establecer la posicion de esta ventana en funcion de la otra
  69. set/a "TOP=%TOP%+32"
  70. call "%serverf%\cmdow" @ /MOV %LEFT% %TOP%
  71.  
  72. REM Escuchar la señal "blah" para refrescar (obsoleto)
  73. REM waitfor "blah" /t %cfrec% >nul
  74.  
  75. timeout /t %cfrec% >nul
  76.  
  77. REM Obtener la posicion de la ventana del textbox
  78. for /f "tokens=2,8-9" %%a in ('%serverf%\cmdow "TIC CHAT" /p') do (
  79. set "LEFT=%%b" & set "TOP=%%c"
  80. )
  81. REM Establecer la posicion de esta ventana en funcion de la otra
  82. set/a "TOP=%TOP%+32"
  83. call "%serverf%\cmdow" @ /MOV %LEFT% %TOP%
  84. goto chat
  85.  
  86. :TEXTUAL
  87. REM Aqui va el textbox
  88. TITLE TIC CHAT
  89. mode 90,3
  90.  
  91. REM Leer variables
  92. set "serv=%2"
  93. set "nick=%3"
  94. set "ccolor=%4"
  95.  
  96. set "servf=\\Inves%serv%\D\Mis Documentos\CT\_SERVER"
  97.  
  98. color %ccolor%
  99. call "%serverf%\cmdow" @ /TOP
  100. set file=%serverf%\roomdata
  101.  
  102. :TEXTUAL2
  103. cls
  104. set/p "ptext=>>> "
  105. REM Este echo no es para mostrar un texto, sino para escribir en el archivo del server
  106. echo [%time%] %nick% : %ptext%>> %file%
  107. REM Enviar señal de refresco (obsoleto)
  108. REM waitfor /si "blah">nul
  109. goto TEXTUAL2
  110.  
  111.  
  112. :ColorText
  113. REM Esta funcion sirve para dar color a un texto
  114. echo off
  115. <nul set /p ".=%DEL%" > "%~2"
  116. findstr /v /a:%1 /R "^$" "%~2" nul
  117. del "%~2" > nul 2>&1
  118. goto :eof
  119.  


Mod: no hagas doble post, usa el boton modificar
« Última modificación: 27 Noviembre 2019, 16:13 pm por engel lex » En línea

sit tibi terra levis
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Enviar y recibir informacion en LAN con BATCH
« Respuesta #7 en: 27 Noviembre 2019, 16:17 pm »

pregunta, por que no lo hiciste en vbs que viene implementado en windows y si es un lenguaje de verdad? (pudieras haber usado sockets)

tal vez usar python? (hay interpretes portables por si no puedes instalar nada)
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.391


Ver Perfil
Re: Enviar y recibir informacion en LAN con BATCH
« Respuesta #8 en: 27 Noviembre 2019, 17:21 pm »

El mesenger (hablo del servicio del PC, no del cliente de correo), sirve precisamente para la comunicación en la LAN. (como es un servicio, debe estar habilitado).
El comando básico:
Net send
"Sends messages to other users, computers, or messaging names on the network.
Syntax
net send {name | * | /domain[:name] | /users} message"

Los mensajes puedes pasarlos cifrados por algún otro programa, cada día/semana acordais una clave entre todos y hale.

Recuerda que "bat" es como querer construir castillos con terrones de azúcar. Bastante ineficiente tanto en ejecución como en desarrollo.
En línea

branon32

Desconectado Desconectado

Mensajes: 29


Hello World


Ver Perfil
Re: Enviar y recibir informacion en LAN con BATCH
« Respuesta #9 en: 27 Noviembre 2019, 20:53 pm »

El mesenger (hablo del servicio del PC, no del cliente de correo), sirve precisamente para la comunicación en la LAN. (como es un servicio, debe estar habilitado).
El comando básico:
Net send
"Sends messages to other users, computers, or messaging names on the network.
Syntax
net send {name | * | /domain[:name] | /users} message"

Los mensajes puedes pasarlos cifrados por algún otro programa, cada día/semana acordais una clave entre todos y hale.

Recuerda que "bat" es como querer construir castillos con terrones de azúcar. Bastante ineficiente tanto en ejecución como en desarrollo.


Net send no funcionaba en mi pc xd ya lo intenté



pregunta, por que no lo hiciste en vbs que viene implementado en windows y si es un lenguaje de verdad? (pudieras haber usado sockets)

tal vez usar python? (hay interpretes portables por si no puedes instalar nada)

Precisamente por dar por culo (tanto a mi mismo como a mis compas)



Si a ver, si esto fuese un programa "comercial" (incluso gratuito). Pues lo haría de una forma más elegante y desde luego eficiente. Pero no olvidemos que el objetivo de este proyecto no es hacer el mejor chatroom, es hacer un chatroom con bat para que mis compas puedan intentar entender el código (por eso lo he llenado de comentarios).
« Última modificación: 27 Noviembre 2019, 21:23 pm por engel lex » En línea

sit tibi terra levis
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Enviar y Recibir Correos en Batch usando VBS[APLICACION CHAT TERMINADA]
Scripting
EddyW 0 4,351 Último mensaje 17 Junio 2009, 18:46 pm
por EddyW
Enviar y recibir .txt y .jpg por puerto serie con C#
.NET (C#, VB.NET, ASP)
Meta 4 11,612 Último mensaje 4 Diciembre 2009, 15:05 pm
por MANULOMM
Enviar y Recibir SMS desde la PC con vb.NET
.NET (C#, VB.NET, ASP)
enterariel 4 16,923 Último mensaje 14 Noviembre 2013, 15:39 pm
por WHK
Enviar y recibir paquetes WPE Pro
Dudas Generales
xxmiguelito22xx 0 2,762 Último mensaje 27 Mayo 2016, 21:24 pm
por xxmiguelito22xx
Enviar y recibir información
.NET (C#, VB.NET, ASP)
Meta 0 2,041 Último mensaje 26 Enero 2023, 21:18 pm
por Meta
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines