Programa en red

Iniciado por NeWorlD, 20 Noviembre 2010, 05:20 AM

0 Miembros y 1 Visitante están viendo este tema.

NeWorlD

Hola,

Tengo un problema con Java y por más k leo y busko no entiendo.

Estoy usando la clase socket, y deseo hacer un programa simple que lea una linea de entrada por el usuario y k la repita. El programa esta en los tutoriales de Java pero no konsigo realizarlo.


Código (java) [Seleccionar]
package sockets;
import java.net.*;
import java.io.*;
import sun.security.action.GetLongAction;

public class Kodex {
   
public static void main(String[] args) throws IOException {

       Socket echoSocket = null;
       PrintWriter out = null;
       BufferedReader in = null;

       try {
           echoSocket = new Socket("IP-AKI",PUERTO);
           out = new PrintWriter(echoSocket.getOutputStream(), true);
           in = new BufferedReader(new InputStreamReader(
                                       echoSocket.getInputStream()));
       } catch (UnknownHostException e) {
           System.err.println("Don't know about host: taranis.");
           System.exit(1);
       } catch (IOException e) {
           System.err.println("Couldn't get I/O for "
                              + "the connection to: taranis.");
           System.exit(1);
       }

BufferedReader stdIn = new BufferedReader(
                                  new InputStreamReader(System.in));
String userInput;
while ((userInput = stdIn.readLine()) != null) {
   out.println(userInput);
   System.out.println("echo: " + in.readLine());
}

out.close();
in.close();
stdIn.close();
echoSocket.close();
   }
}


En la parte que dice IP y PORT k va?

En los test k eh realizado eh probado kn el IP de mi pc y port 80 k es para las koneccones web y lo k hace es recibir la entrada y cada vez imprime una linea k el server web manda.

Ahora, despues de esa pregunta hay algo k tampoko m keda claro; tengo un router y 3 komputadoras conectadas a este si kisiera konektarme a la komputadora usando el programa servidor, despues k este en la kapacidad de programarlo, komo le hago?

Lo k se es k mi tiene una especie de maskar a la web k seria la ip externa, kuando konekto desde un buskador x ejemplo a esta ip entro a la konfiguracion del router. Si no m ekivoko, si kisiera entrar a mi server web desde afuera deberia konfigurar un puerto en el router para k me redireccione a la makina kn el servidor no?

No se nah de redes y estoy experimentando kn eso, paciencia xfavor hehe.
Gracias de Antemano

(Algo k muy posiblement se m olvido agregar: crea IOException)


Imagination Goes Beyond - Jax Kodex

Debci

Lo primero es decirte que te leas las normas, no se puede escribir de cualquier manera en este foro.
Lo segundo es decirte si tienes claro lo que haces.
Lo tercero es preguntarte si sabes lo que es un puerto y una IP.
Lo cuarto es preguntarte si tienes claro que eso de ahi no es un codigo de servidor, es un codigo de cliente que se conecta a una IP y puerto determinado que le indiques como parámetros en el constructor.
Y por ultimo decirte que intentes especificar que es exactamente lo que quieres por que no queda nada en claro.

Si quieres hacerlo, seria conveniente que leyeras documentación al respecto, el API de java o algun ejemplo bien explicado.
Copiar el codigo no vale de nada.

Saludos

NeWorlD


Cita de: Debci en 20 Noviembre 2010, 11:56 AM
Lo primero es decirte que te leas las normas, no se puede escribir de cualquier manera en este foro.
Lo segundo es decirte si tienes claro lo que haces.
Lo tercero es preguntarte si sabes lo que es un puerto y una IP.
Lo cuarto es preguntarte si tienes claro que eso de ahi no es un codigo de servidor, es un codigo de cliente que se conecta a una IP y puerto determinado que le indiques como parámetros en el constructor.
Y por ultimo decirte que intentes especificar que es exactamente lo que quieres por que no queda nada en claro.

Si quieres hacerlo, seria conveniente que leyeras documentación al respecto, el API de java o algun ejemplo bien explicado.
Copiar el codigo no vale de nada.

Saludos

CitarA. los títulos deben incluir una pregunta precisa y el lenguaje en que se solicita
B. Se pregunta por conceptos abstractos. Aquí no estamos para hacerle el trabajo a nadie
C. Manuales, ejercicios y proyectos de programación al subforo correspondiente
D. Ingeniería inversa o ensamblador al subforo correspondiente
E. Visual Basic al subforo correspondiente
F. C o C++ al subforo correspondiente
G. Programación de troyanos, keyloggers y demás en cualquier lenguaje al Foro de Troyanos
H. El código siempre entre caracteres code para que quede bien claro lo que es código y lo que no.

A. Problema en Red... Obviamente en Java
B. Mi pregunta es acerca de en sí kual es mi error en el programa k no hace lo k el tuto dice k deberia hacer). No es mi tarea... Esstoy leyendo sobre el tema.
C. No aplika
D. No aplika
E. No aplika
F. No aplika
G. No aplika
H. En buen estado

1. Si no m ekivoko esas son las reglas del foro. Si m equivoco me avisas...

2. quiero hacer un programa k se pueda komunikar entre dos o mas pcs. Mi forma de entender un funcionamiento es ir leyendo la teoria y probar lo k dice la teoria. En este kaso entendi mas o menos lo k decia el tutorial y keria ver si funcionaba komo dice.
el tutorial lo leo de http://download.oracle.com/javase/tutorial/networking/sockets/readingWriting.html deberia funcionarme pero no se k pasa.

3. un puerto es una entrada a una pc a la que se le asigna un programa servidor k esta "eskuchando" (listening) en espera de algun cliente para establecer una conexión (TCP) o recivir enviar sin hacer koneccion (UDP)<- Entendimiento de puerto segun lo k necesito

Segun Wikipedia:
Citarun puerto es una forma genérica de denominar a una interfaz a través de la cual los diferentes tipos de datos se pueden enviar y recibir.

IP es un nombre de una makina por decirlo asi. En realidad es mas un identificador de número k sirve para poder hacer los direccionamientos<--Segun yo/Lo k quiero

Segun Wikipedia:
CitarUna dirección IP es una etiqueta numérica que identifica, de manera lógica y jerárquica, a una interfaz (elemento de comunicación/conexión) de un dispositivo (habitualmente una computadora) dentro de una red que utilice el protocolo IP (Internet Protocol), que corresponde al nivel de red del protocolo TCP/IP.

Facil me ekivoko pero para hacer una incursion primaria creo k el entendimiento k tengo es suficiente kn respekto a la especifikacion de Wikipedia. Especifike k recien estaba incurcionando en redes.
Citar
No se nah de redes y estoy experimentando kn eso, paciencia xfavor hehe.

4. Ya se k es un kodigo cliente k lee y escribe en su mismo socket. Komo repite lei en http://download.oracle.com/javase/tutorial/networking/sockets/readingWriting.html que supongo es una buena fuente de informacion y praktika. Repito, ley la dokumentacion y keria ver si era verdad lo k dicen en la teoría.

Por Ultimo. quiero saber xk sale error kuando lo korro.
Dije k lo probe kon puerto 80 y k hacia lo descrito en el texto...
Citar
(Algo k muy posiblement se m olvido agregar: crea IOException)

Me di kuenta despues envie el mensaje.

Una pregunta aparte más orientada a redes... Creo k esta parte no hiba aki.

CitarAhora, despues de esa pregunta hay algo k tampoko m keda claro; tengo un router y 3 komputadoras conectadas a este si kisiera konektarme a la komputadora usando el programa servidor, despues k este en la kapacidad de programarlo, komo le hago?

Lo k se es k mi tiene una especie de maskar a la web k seria la ip externa, kuando konekto desde un buskador x ejemplo a esta ip entro a la konfiguracion del router. Si no m ekivoko, si kisiera entrar a mi server web desde afuera deberia konfigurar un puerto en el router para k me redireccione a la makina kn el servidor no?

Aun kedo kon la pregunta... y no se si necesito especificar más.
...

(korro windows vista x siak...)
Imagination Goes Beyond - Jax Kodex