JSONP: llamadas AJAX a servidores remotos

Como todo el mundo sabe, una de las medidas de seguridad más acertadas de los navegadores es la del aislamiento de los dominios para proteger la privacidad. Este aislamiento impide que, por defecto, se puedan transferir cookies entre dominios, que fallen los scripts que tratan de afectar a marcos con páginas que están en dominios diferentes y, por supuesto, tampoco permite hacer peticiones desde código JavaScript a servidores que están en dominios diferentes a la actual. Y aún así existen cantidad de vulnerabilidades (Cross Site Scripting, Cross Site Request Forgery, Cross Zone Scripting, etc…) relacionadas con robo de información y ataques distribuidos que están basadas en explotar código de JavaScript en aplicaciones mal construidas. Al final, cómo esté escrito el código de una aplicación web desde el punto de vista de la seguridad es más importante que todos los cortafuegos y otras medidas «de protocolo» que puedas incluir.

Una de las implicaciones de este aislamiento entre dominios es que desde nuestro código JavaScript no podremos llamar a servicios Web que estén ubicados en dominios diferentes al nuestro (con XmlHttpRequest). Esto limita la capacidad de agregar información de diversas aplicaciones para explotarla directamente desde el navegador en nuestros desarrollos. Así que por defecto olvídate de llamar a código de Google, Flicker, eBay, YouTube, etc… y mostrar toda esa información agregada en tu página haciéndolo directamente desde JavaScript.

La solución habitual pasa por construir servicios propios que actúen como intermediarios de otros servicios y nos devuelvan desde nuestro propio servidor la información que necesitemos, lo cual no deja de ser una pesadez.

Una solución alternativa se llama JSONP (JSON with Padding). Fue propuesta en diciembre de 2005 por Bob Ippolito, creador de la biblioteca JavaScript Mochikit, y que desde entonces ha sido adoptada por muchas aplicaciones Web 2.0 como forma de permitir las llamadas a servicios cross-domain.

¿En qué consiste JSONP?

Es una forma de extender la sintaxis de JSON (JavaScript Object Notation, el estándar de facto de intercambio de datos con JavaScript para aplicaciones AJAX) para que soporte llamadas desde otros dominios. Necesita la colaboración del servidor que expone los servicios para generar el código con una determinada sintaxis y se aprovecha de que las etiquetas <script> permiten establecer el origen de scripts externos (atributo SRC) en dominios diferentes al actual, no estando sujetas por tanto a las restricciones impuestas por el aislamiento de dominio.

Pongamos un ejemplo.

Una estructura de datos JSON común podría ser por ejemplo esta:

{ Nombre : "José Manuel" }

La forma normal de procesar estos datos, devueltos por un servicio, por parte de un cliente JavaScript es evaluándolos para crear un objeto JavaScript asignado a una variable y luego hacer uso de ellos.

Si para llamar al servicio escribimos una etiqueta similar a esta (o un método JavaScript que, por debajo, genere algo similar, que es lo habitual):

<script type=»text/javascript» language=»javascript» src=»http://www.otroservidor.com/servicio/dameDatos.asp»/>

indicando en el atributo src la URL del servicio que devuelve los datos, obtendremos sin problema los datos en el cliente. Pero, como JSON define objetos para crear una estructura de datos pero no es directamente código ejecutable, lo que ocurrirá es que el objeto se evaluará pero se descartará inmediatamente.

Este problema se solucionaría si pudiésemos evaluar de algúna manera los datos recibidos desde el servidor remoto. Es aquí donde entra en juego la colaboración de éste. Si definimos en nuestro código JavaScript una función especializada en tratar la información devuelta y conseguimos que el servidor remoto devuelva no sólo los datos «puros» en JSON, sino estos mismos datos envueltos en una llamada a dicha función, el problema estará solucionado.

Esta función puede ser una cuyo nombre esté previamente acordado o bien una que se indique de manera dinámica y que el servidor utilizará como si se tratara de un método de retrollamada o «callback».

Por ejemplo, si tenemos una función llamada «ProcesaDatos» que recibe el objeto JSON y trabaja con él y podemos indicar al servidor remoto que esta es la función en la que nos interesa recibir los datos tendríamos el problema solucionado.

En este ejemplo si pudiésemos escribir esta llamada:

<script type=»text/javascript» language=»javascript» src=http://www.otroservidor.com/servicio/dameDatos.asp?f=ProcesaDatos/>

para obtener como JavaScript devuelto esto otro:

ProcesaDatos( { Nombre : «José Manuel» } );

lo que tendríamos sería una llamada automática a nuestra función con datos obtenidos desde otro servidor. ¡Justo la llamada entre dominios que estábamos buscando!.

Esta técnica de JSONP tiene muchas aplicaciones y está soportado por la mayor parte de los frameworks de JavaScript que hay por ahí (como jQuery). Pero no está exento de problemas de seguridad. De hecho su existencia es uno de los motivos de que el equipo de ASP.NET incluyera un cambio importante en la forma de devolver los datos JSON en la versión 3.5 del framework quye hace que rompan las aplicaciones AJAX que usan servicios y que fueron creadas con la versión 2.0 de la plataforma.

En un próximo post explicaré esta vulnerabilidad de JSONP en aplicaciones descuidadas, y cuál fue este cambio. En un post posterior tambien me gustaría explicar qué está haciendo el W3C para incluir de manera estándar y segura las llamadas entre dominios y el soporte actual de algunos navegadores.

Mientras tanto quédate con el concepto de JSONP y úsalo con sentido común pues es muy útil en algunas circunstancias.

¡Mi libro de ASP.NET 4.0 gratis en Internet!

Portada ampliada del libro Hoy, coincidiendo con el evento ReMIX en Madrid, en el que Microsoft está regalando mi nuevo libro «Tecnologías ASP.NET 4.0 (saltando desde la versión 2.0)», hemos puesto a disposición de todo el mundo este mismo libro gratuitamente en formato electrónico.


Así que puedes leerlo completo on-line y, si te gusta, comprarlo en papel a la editorial. Ya tienes un botón directo de compra a la derecha de la página del libro. Tenemos DISTRIBUCIÓN EN TODO EL MUNDO, no sólo en España, así que no hay disculpa aunque estés en Alemania, jeje


El libro estará disponible en Scribd para su lectura por un tiempo limitado, así que aprovecha, leelo ahora y ¡díselo a tus amigos!


Este es el enlace al libro:


http://www.scribd.com/doc/20154009/Tecnologias-ASPNET-40-saltando-desde-la-version-20


Esta disponible desde hoy por la mañana, pero se lo hemos comunicado en privado antes que a nadie a nuestros fans de la página de Facebook de campusMVP. Es una de las muchas ventajas de ser fan en Facebook, así que si no lo eres aún no esperes más que te pierdes cosas como esta 😉


Espero que la iniciativa guste. Y por cierto, creo que esto deja bastante clara nuestra postura respecto a lo que yo planteaba en este mismo blog ayer.


¡Saludos a todos!

Baquia.com hackeado (o eso parece)

Entre los Web Clips para mostrar en la barra superior de GMail, tengo añadidas las noticias de Baquia.com. Me parece una publicación on-line muy interesante y me acabé de aficionar definitivamente a ellos cuando tuve oportunidad de conocerlos en persona hace unos meses, que estuve en sus oficinas para entrevistarme para su televisión. Mparecieron muy profesionales y las noticias y artículos resultan casi siempre de interés.

Hace un rato, leyendo mi cuenta de GMail, me he fijado en una cosa que por poco se me pasa inadvertida y es que una de las noticias de la barra de Web Clips era de Baquia pero se veía «rara»:

Bufff, parece un hacking clarísimo. Si pulsas en el enlace te lleva a una página que no existe ya:

O sea, que los amigos de Baquia han andado rápidos por fortuna. Pero por rápido que seas, Google estos días parece que lo es mucho más:

http://www.google.es/search?hl=es&source=hp&q=ozzmadark+site%3Abaquia.com

si bien parece que, en este caso, otros buscadores como Bing, no han sido tan rápidos:

http://www.bing.com/search?q=ozzmadark+site%3Abaquia.com&form=QBRE&filt=all

En fin, que hay que tener mucho cuidado, que nunca se sabe por dónde puede saltar la liebre 🙁

Roy Osherove y el robo de libros

Ayer, el bueno de Roy Osherove, publicó en su blog un post que me ha parecido muy valiente por su parte. Roy es uno de los expertos mundiales en todo lo referente a gestión de proyectos, sobre todo en lo que respecta a metodologías ágiles, así como autor del libro «Art of Unit testing». Y es precisamente a raíz de lo que ha pasado con su libro que le dedico hoy este post.


Anteayer Roy descubrió que en Internet había varios sitios que tenían su libro pirateado en PDF. De hecho lo descubrió a través de su Twitter, porque el pirata original tuvo los «santos cojones» de re-twittear comentarios del propio Roy justo después de haber puesto el enlace para descargarse el libro, con lo que la cosa era fácil de descubrir. como se dice por aquí «hay que tenerlos cuadrados». O ser idiota, claro.


Él, como autor, recibe menos de dos dólares por cada copia del libro que se vende. Vamos, que todo el mundo sabe que escribir libros no da dinero, y se hace más por otras cosas. Pero eso no significa que el dinero no cuente, claro. Escribir este libro le llevó tres años de trabajo y duele ver como, luego, la gente no tiene respeto por ese esfuerzo. Es más una cuestión de respeto por el trabajo ajeno que una cuestión monetaria. Ya no vamos a entrar aquí en otras disquisiciones como la supervivencia del modelo de los libros de pago, etc… que nos llevarían a una discusión sin fin y acabaríamos hablando del famoso canon. Hablemos, simple y llanamente, de RESPETO por el trabajo de los demás.


Estoy seguro de que la mayoría de los que roban libros en Internet (sí, no nos ademos con eufemismos, es ROBAR) nunca robaría un libro en una librería. Supongo que es porque en la librería hay más riesgo de que los pillen. Pero es como está montado todo hoy en día. En fin…


A mi me ha pasado también, y hay gente que incluso roba los contenidos de este blog, poniéndolos en cualquier lado sin citar la fuente y haciendo ver como que los han escrito ellos. En mi opinión debería ser su propia vergüenza la que les hiciera dejar esa conducta de hacerse pasar por expertos cuando no lo son y sólo lo aparentan porque roban contenidos. Pero de donde no hay no se puede sacar.


De hecho, diré una cosa que ya te imaginarás: la imagen que ilustra este post la he robado de Internet. Sí. La he buscado con Google Images y la he puesto ahí. No tendría sentido para mi, que no saco un duro de esto, pagar por una imagen de stock para colocar una foto en el post y darle un toque de color. Me gustaría citar a su autor, pero no tengo ni idea de quien es, pero nadie que visite este blog se va a imaginar tampoco que la foto la he hecho yo ¿o sí? 😉 Así que la cosa la veo bastante distinta a los casos que he citado. Desde luego las que usamos en publicidad o en cosas de la empresa, o son de libre distribución o se pagan a un stock de imágenes.


Imagino que en el fondo Roy piensa lo mismo que yo, y es lo siguiente: mi opinión es que la mayor parte de la gente que roba un libro (o cualquier otra cosa) en Internet lo hace por que en realidad dicho libro no le interesa en exceso o no le va a sacar un gran partido. Es decir, ese libro o bien digital no tiene un gran valor para él o ella. Si realmente tuviese valor se lo compraría aunque pudiera robarlo. Y me parece bien. Yo no quiero que nadie pague por un libro mío si no le interesa y lo único que quiere es, como mucho, consultar un par de páginas. Es como lo de tener que comprarse un CD completo cuando sólo nos gustan una o dos canciones (por eso me gusta más el modelo de iTunes, con todos sus defectos). Ahora bien, si te resulta de interés y le vas a sacar algún partido: ¡págalo, maldita sea!. Míralo hasta egoistamente: es una forma de segurarte de que en el futuro habrá más trabajos como ese en marcha.


Tanto Roy como yo debemos de ser muy ingenuos seguramente. Pero para comprobarlo él ha hecho algo que me ha parecido genial. Ha colocado en su blog unos enlaces: uno a la página de descarga ilegal del libro (e incluso a una búsqueda en Google que te da más enlaces para lo mismo), otro enlace a la página para poder comprarlo en papel y otro para poder comprarlo en PDF. Y ha dicho: «¡vale, genial!, roba mi libro, pero si te interesa y quieres ser decente, cómpralo después». Y ha añadido una pequeña encuesta con varias posibles respuestas sobre cómo piensas usar esta información que ha dado. Simplemente una forma genial e tomárselo.


Estoy deseando ver qué pasa con el experimento y cuáles son los resultados. Me imagino que la ingenuidad mía yde Roy quedará en evidencia, y que el anonimato y la facilidad de Internet pesarán más que otras cosas. Pero ya lo veremos.


P.D.: Quiero agradecer a todos los que habéis comprado mis libros y cursos a lo largo de estos últimos 13 años que llevo en esto. Sigo sin ser rico pero me habéis dado muchas satisfacciones.
Por cierto, si a alguien le interesa comprar alguno de los últimos, ya sabe 😉


——-
Os dejo aquí dos caras de la moneda hablando del «trabajo gratis», en concreto dos escritores de ciencia ficción uno en contra y otro a favor de lo «gratis» (ambas en inglés):



· Harlan Ellison en contra de trabajar gratis, con toda la razón creo yo, en una entrevista en YouTube: http://www.youtube.com/watch?gl=US&hl=en&v=mj5IV23g-fE. El cabreo que se pilla es buenísimo 🙂
· Cory Doctorow a favor de liberar sus libros gratis. Tampoco le falta razón, pero depende mucho del tipo de libro creo yo: http://www.guardian.co.uk/technology/2009/aug/18/free-ebooks-cory-doctorow


——


ACTUALIZACIÓN (24-09-2009): Mi libro de ASP.NET 4.0 disponible gratuitamente en Internet para que lo leas si quieres.

Cómo actualizar la BIOS de un eeePC

La verdad es que estoy encantado con mi eeePC siempre teniendo en cuenta las limitaciones de este tipo de chismes pequeños que son los Netbooks, y es que valen para cuando estás de viaje pero no esperes tenerlos como sistema principal. Lo malo de los eeePC de Asus (y en general de Asus) es que aunque es una buena marca el soporte y la documentación dejan bastante que desear. La página de soporte siempre está caída o te dice que tiene demasiadas conexiones y generalmente te cuesta muchísimos intentos el poder acceder a ella y descargarte algo. Y una vez lo consigues las indicaciones son mínimas.


Por ejemplo, la actualización d ela BIOS que quise hacer hoy mismo por un problema que tengo con la batería (y que, por cierto, no me ha solucionado). Vas a la página de descargas de ASUS, encuentras las actualizaciones de las BIOS, te bajas la última y ¿ahora qué?


No hay instrucciones de ningún tipo y en el manual que trae el equipo no aparece nada al respecto (o al menos no lo he visto), así que te encuentras con un archivo ZIP que contiene un .ROM dentro que no sabes qué hacer con él.


Las instrucciones para poder actualizar la BIOS son las siguientes:



1.- Pincha a tu ordenador una llave USB. Formateala como FAT16. ¡Ojo! FAT32 no te servirá.
2.- Descomprime dentro de la llave USB el contenido del ZIP que te has descargado.
3.- Renombra el archivo .rom que se crea y ponle el número exacto del modelo de eeePC que tengas. Por ejemplo, el mío es un 901, así que 901.rom, pero podría ser 900.rom, 1000.rom, etc… Es importante hacerlo así o no te lo encontrará.
4.- Arranca el eeePC con la lave USB pinchada en cualquier puerto. Nada más encenderlo pulsa ALT+F2. Si ves que no te lo pilla reinicia y pulsa esta combinación varias veces.
5.- Ahora se lanzará la utilidad de actualización de la BIOS, la cual encontrará el archivo .rom y efectuará, sin preguntarte, la actualización. Asegúrate de tener pinchado el equipo a la corriente no vaya a ser que se interrumpa el proceso a la mitad y te quedes con él en un estado inutilizable.



La verdad es que podían documentarlo un poco mejor, al menos introduciendo un TXT explicativo junto con el ZIP que te descargas y que tiene la BIOS nueva dentro ¿no?


Espero que a más de uno le pueda servir para no perder el tiempo buscándose la vida con esto.


Saludos!


 

Mockflow: más prototipado web, esta vez on-line

Recientemente publiqué un post sobre las diferentes herramientas que había en el mercado (bueno, más bien que yo conocía, que eran unas cuantas) para crear prototipados de aplicaciones Web, los conocidos Wireframes.


Esta es nueva y la acabo de descubrir, por lo que la añado ahora para referencia posterior.


Se trata de MockFlow, de la empresa Produle Systems.



La verdad es que es una gozada y es muy fácil de usar. Está basado en flash y permite compartir los modelos también en este formato, con su correspondiente simulación.


La versión gratuita está algo limtiada en cuanto a la cantidad de prototipos que podemos hacer, pero hay una de pago que cuesta sólo 4 dólares al mes (o sea, menos de 3 € al mes, que no es dinero).


Aquí puedes ver algunos modelos creados con la herramienta: http://www.mockflow.com/samples/

¡El maldito feisbuk! ;-)

En las últimas semanas he estado menos activo que de costumbre en este blog, como seguramente algunos de los asidúos habréis notado. Como siempre es un compendio de circustancias que tienen que ver con el trabajo, mi último libro sobre ASP.NET 4.0 y, en esta ocasión, hay también una razón en particular que ha tendo también una buena parte de la culpa: El bendito Facebook.


Lo cierto es que me resistía y he de confesar que me metí muy tarde en esta red social, pero ahora estoy enganchado. La facilidad de mantenerte en contacto con la gente, incluso cercana, así como lo sencillo que resulta estar al tanto de los temas que te interesan a haciéndote fan de las páginas de temáticas que te gustan, es imbatible.


Por ejemplo, en lugar de escribir un post largo y costoso, es mucho más sencillo simplemente compartir un enlace incluyendo en la cabecera un comentario propio que aclare algo sobre dicho enlace. Y las últimas semanas he aprovechado esa capacidad muchísimo, tanto en mi perfil personal de facebook, sólo con mis amigos y conocidos cercanos, como en la nueva página de facebook de campusMVP, que hemos estado probando este verano y lanzamos esta misma semana.


En ella hemos estado metiendo decenas de recursos interesantes para programadores, que disfrutaron nuestros beta-testers en verano, y cada día introducimos al menos un par de ellos más como mínimo. Desde ayer todo el mundo puede darse de alta como fan en ella. Ya llevmaos más de 200 fans en el momento de escribir esto, y creciendo.


Si estás en facebook te va a interesar hacerte fan ya que publicaremos en exclusiva:


      · Noticias, herramientas, trucos… directamente en tu muro
      · Subiremos vídeos prácticos de vez en cuando
      · También capítulos de libros o incluso, libros completos, pero tendrás que estar al quite…
      · Ofertas sólo para fans
      · Descuentos sólo para fans
      · Podrás déjarnos comentarios, sugerencias y mensajes.
      · y muchas otras sorpresas que verás si está allí.


Así que ya sabes… Yo mismo estaré allí publicando muchas de esas informaciones 🙂


PÁGINA DE CAMPUSMVP EN FACEBOOK


Además también hemos estado trabajando en la integración de nuestra plataforma de e-learning con facebook. Si eres alumno de campusMVP, ahora podrás acceder a tus cursos e-learning usando tu cuenta de facebook. Ya no tendrás que recordar unas nuevas credenciales para cada sitio.


Simplemente pulsa el botón facebook connect de la portada de la plataforma y ya estarás accediendo a tus cursos, incluyendo los cursos gratuitos.


Por cierto, si eres más de Twitter, también puedes hacerte follower en esta aplicaicón de microblogging. Nuestro tweet es este: www.twitter.com/campusmvp. Todo lo que publicamos en facebook sale automáticamente en twitter, eso sí, resumido, claro.


Finalmente, si no eres fan de estas cosas te recuerdo que siempre te puedes suscribir a nuestro boletín de correo electrónico que enviamos una vez al mes. Ya somos más de 4.000 suscriptores.


Y por supuesto también por RSS.


Es que no hay disculpa posible para no estar enganchado a la última información sobre el mundo Microsoft que te ofrecemos, y a la cual dedico personalmente gran parte de mi tiempo 🙂


¡Un saludo!

Disponible mi último libro: Tecnologías ASP.NET 4.0

Portada ampliada del libro Aún faltan unos cuantos meses para tener la versión definitiva de Visual Studio 2010 y .NET 4.0, pero tras varias betas y muchos meses usándolo pocas cosas van a cambiar. Así que ya está disponible mi nuevo libro.


Se trata de «Tecnologías ASP.NET 4.0 (saltando desde la versión 2.0)» y está disponible en la tienda de campusMVP.


Como su propio nombre indica, este libro parte de la base de que ya sabes programar con ASP.NET 2.0 (al menos los fundamentos) y desde esa premisa va desgranando las tecnologías más importantes aparecidas desde entonces con las versiones 3.0, 3.5, 3.5 SP1 y la próxima verisón 4.0.


Un gran parte del texto se centra en tecnologías AJAX, incluyendo las novedades para enlazado y manejo de datos en el cliente que ofrece ASP.NET 4.0, pero hay muchas otras cosas que explorar.


Además hay una sorpresa:


Si vas a asistir al evento ReMIX de Microsoft a celebrar en Madrid el día 24 de Septiembre de 2009 o al Codecamp 2009 en Reus (Tarragona) el 17 y 18 de Octubre, debes saber que Microsoft te va a regalar este libro allí.

Si no quieres esperar o si no vas a asistir a esos eventos cómpralo ahora a través de nuestra tienda.

 

¡Te va a gustar! 🙂

(eso espero)

Cómo hacer que tu software sea el número 1, por Joel Spolsky

Joel Spolsky es uno de los grandes de este mundillo. Trabajó varios años en Microsoft a principios de los 90, como Program Manager de Excel, y fue el responsable de Visual Basic for Applications en este entorno hasta que abandonó la empresa. En 2000 fundó su propia empresa de software, Fog Creek Software. En los últimos años ha adquirido gran relevancia en gran parte a través de su Blog, Joel On Software, en el que existen artículos filosóicos y sobre el negocio del software que han calado mucho en la comunidad de desarrolladores, aunque también es conocido por ser autor de varios libros.


El año pasado (septiembre de 2008) habló en la conferencia Business of Software, en Boston. El tema de su conferencia fue cómo conseguir software que sea el número 1. En realidad todo lo que cuenta se puede aplicar a casi cualquier faceta de la actividad humana en la que exista cierta competitividad, y él mismo nos da unos cuantos ejemplos también de fuera de la informática.


Sólo un detalle: no hay versión subtitulada en castellano de la charla, y hay que seguirla en inglés, por lo que necesitarás una buena compresión oral en este idioma.


Todo lo que cuenta es, como siempre, de puro sentido común, pero realmente merece la pena pararse a escucharlo, ver los ejemplos que pone y reflexionar sobre ello pensando en el software que hacemos. Aunque el vídeo es un poco largo será tiempo bien invertido.


El vídeo a continuación:


Cómo fijar el puerto del servidor Web de desarrollo

A partir de Visual Studio 2005 la vida se simplificó bastante para los dessarrolladores Web con tecnologías Microsoft. No sólo porque la tecnología estuviera completamente remodelada y ASP.NET 2.0 se convirtiera en la herramienta productiva y potente que es hoy en día. En este caso me estoy refiriendo a la inclusión del servidor Web de desarrollo (Cassini para los amigos) en el propio entorno de Visual Studio.


Antes de esto, mover una solución entre equipos era un dolor, sobre todo si tenías varios proyectos Web contenidos dentro de ésta. El motivo era que los proyectos Web estaban atados a la instancia local de Internet Information Server y por lo tanto cuando cambiabas de equipo la solución tenías que configurar cada proyecto en IIS, en el puerto o subcarpeta correctos. Un «peñazo», vamos.


Con VS2005 y superiores el servidor de desarrollo sólo puede atender peticiones locales y se lanza automáticamente para depurar y probar el proyecto. Al hacerlo se asigna un puerto aleatorio en el que atender las peticiones.


Esto último resulta cómodo generalmente ya que trata de evitar colisiones con otros proyectos si trabajamos con varios a la vez. Sin embargo en ocasiones nos resultará más cómodo disponer de un puerto fijo que sea siempre el mismo cuando usemos el proyecto en cualquier máquina.


La forma de conseguirlo es muy sencilla: En el explorador de soluciones de Visual Studio selecciona el nodo raíz del proyecto Web. Pulsa F4 para mostrar sus propiedades. Una vez allí establece la propiedad «Use dynamic ports» (Utilizar puertos dinámicos) como False (por defecto es True). Esohabilitará la propiedad justo encima de ésta, «Port Number» (número de puerto). Ahora ya puedes establecer en ella el valor que te interese y dejarlo fijo.



Si al ejecutarlo entra en conflicto con otro proyecto que use el mismo puerto se producirá un error.


Espero qe te sea útil.