Defino una clase y luego instalo un objeto de ese tipo de clase. Deseo enviar este objeto a otra aplicación Java que se ejecute en una computadora diferente de forma transparente. ¿Cuál es la mejor tecnología para lograr esto?Enviar un objeto por Internet
Respuesta
puede crear secuencias de objetos utilizando la API de Java y enviar cualquier objeto serializable. pero usted tiene que recordar que estos van sin cifrar a través de la red:
en el lado del remitente:
CustomObject objectToSend=new CustomObject();
Socket s = new Socket("yourhostname", 1234);
ObjectOutputStream out = new ObjectOutputStream(s.getOutputStream());
out.writeObject(objectToSend);
out.flush();
y en el extremo receptor:
ServerSocket server = new ServerSocket(1234);
Socket s = server.accept();
ObjectInputStream in = new ObjectInputStream(s.getInputStream());
CustomObject objectReceived = (CustomObject) in.readObject();
Querrá comenzar buscando en la serialización con la interfaz Java Serializable. Sun tiene un buen artículo llamado Discover the secrets of the Java Serialization API.
Consulte el Java Sockets tutorial para obtener información sobre la transferencia real del objeto serializado a través de la red.
Hay muchas maneras de hacerlo. Aquí hay algunas cosas que debe considerar y puede elegir la que mejor funcione para su aplicación.
- J2EE
- RMI serialización
- objeto empujando los bits sobre un zócalo
- Webservices
Casi cualquier marco de comunicación le permitirá introducir objetos en una red de una manera u otro. Solo necesita revisarlos y ver qué funciona para su aplicación. Un google rápido debería encontrar aún más métodos.
A (de facto) norma implementar esto sería usar un servicio web , por ejemplo usando JAX-WS que se incluye en Java 6. Consulte this tutorial para obtener una muestra de Java por primera vez (es decir, usando anotaciones). Esto es bastante directo y fácil.
Hay otros enfoques, como Serialization
más de un Socket, RMI, EJB, pero, cuando se trabaja a través de Internet, servicios web son un tipo de opción natural ya que se basan en los estándares existentes (SOAP, HTTP) y tratar fácilmente con los cortafuegos (que podría ser un problema real para todas las demás soluciones).
Java proporciona serialización de objetos (binarios) utilizando ObjectOutputStream (y ObjectInputStream). Puede simplemente writeObject() en la secuencia y readObject() en el otro extremo. Todo lo que necesita hacer para que esto funcione es implementar la interfaz Serializable.
Pero en lugar de hacerlo manualmente, puede interesarle subir un nivel y usar Invocación de método remoto. Con RMI puede llamar a métodos en objetos que viven en otra JVM, y toda la serialización y la interconexión se realizan bajo el capó.
Y para completar, también hay serialización de beans XML, si no puede usar el formato binario. Ese formato XML es muy genérico (léase: prolijo y feo), pero hay algunas bibliotecas populares (como XStream) que crean serializaciones XML alternativas.
- 1. enviar objeto json con httparty
- 2. ¿Enviar datos de teléfono a teléfono a través de internet?
- 3. Convertir/enviar un objeto stdClass a otra clase
- 4. Cómo enviar un modelo de objeto en Html.RenderAction (MVC3)
- 5. cómo enviar el formulario como objeto JSON
- 6. ¿Cómo enviar un objeto JSON sobre HttpClient Request con Android?
- 7. Enviar objeto Java a un servicio web en reposo
- 8. ¿Múltiples delegados por un objeto?
- 9. Enviar datos a un servidor cuando el dispositivo está conectado a Internet
- 10. ¿Cómo puedo enviar datos a través de Internet usando un socket?
- 11. Socket.io cómo enviar el objeto JavaScript
- 12. reutilizando el objeto de automatización COM de Internet Explorer
- 13. ¿Por qué el índiceOf no funciona en Internet Explorer?
- 14. jQuery (nulo es nulo o no un objeto) de error en Internet Explorer 8
- 15. valores por defecto Sacar de un objeto
- 16. Selenio cómo seleccionar un objeto por clase
- 17. ¿Por qué devuelve Enum.Parse() un objeto?
- 18. ¿Cómo paso un objeto por valor?
- 19. ¿Cuándo y por qué elevaría un objeto?
- 20. Javascript - pass objeto por correo
- 21. jQuery anular formulario enviar no funciona cuando enviar llamado por javascript en un elemento
- 22. ¿Los selectores en Objective-C son simplemente otra forma de enviar un mensaje a un objeto?
- 23. ¿Cómo enviar un correo electrónico simple desde un archivo por lotes de Windows?
- 24. ¿Por qué pasar un objeto por valor en C++
- 25. Enviar el objeto socket al proceso de ejecución bifurcado (multiprocesamiento.Queue)
- 26. cloneNode en Internet Explorer
- 27. Serializar objeto para enviar dentro de Intent en Android
- 28. ¿Es posible enviar un NSInteger a NSNumber?
- 29. Enviar un objeto serializado de Android a un servlet usando el cliente HTTP
- 30. ¿Cómo se usa HttpURLConnection para enviar un objeto serializado a un Servlet de la clase Java?
¿Quiere decir como - satélite, Internet o radio AM/FM? O si no, ¿podemos ver la clase? Danos código amigo! \ o/¡Cualquier cosa! Mientras siga en movimiento, un poco ... – 0scar
BTW, solicitó la mejor tecnología para realizar su pregunta, no el código de muestra, cómo hacerlo. Es por eso que obtuviste 3 respuestas para las tecnologías a usar. Si desea un código de muestra, solicite un código de muestra y se le proporcionará un código de muestra de varias personas sobre cómo hacerlo utilizando diferentes tecnologías o utilizando el mismo, pero tendría más para elegir. –