📄 llamadaremota.java
字号:
package org.mikel.jchord.red;/* * LlamadaRemota.java * * Created on 28 de enero de 2005, 16:20 */import java.net.*;import java.io.*;import org.mikel.jchord.Nodo;/** * * @author mikel */public class LlamadaRemota extends Thread { Peticion pet; Nodo nodoDue駉; /** * Creates a new instance of LlamadaRemota * @param pet * @param nodoDue駉 */ public LlamadaRemota(Peticion pet, Nodo nodoDue駉) { this.pet = pet; this.nodoDue駉 = nodoDue駉; } /** * * @return */ public Peticion ejecutar() throws LlamadaRemotaException { try { // TODO code application logic here Socket s = new Socket(); java.net.InetSocketAddress addr = new InetSocketAddress(pet.getDestino().getIP(),pet.getDestino().getPuerto()); s.setReuseAddress(true); s.setSoTimeout(15000); s.bind(null); s.connect(addr); // Socket s = (Socket) nodoDue駉.obtenerConexion(pet.getDestino()); ObjectOutputStream out = new ObjectOutputStream(s.getOutputStream()); out.writeObject(pet); out.flush(); ObjectInputStream in = new ObjectInputStream(s.getInputStream()); Peticion pet = (Peticion) in.readObject(); nodoDue駉.unlock(pet.getDestino()); pet.setCodigoError(1); return pet; } catch(Exception e) { /*System.out.println("Error de "+nodoDue駉.getIdNodo().getIntId()+" ejecutando llamada remota"); System.out.println(e.getMessage()); pet.setCodigoError(-1);*/ //e.printStackTrace(); //return pet; throw new LlamadaRemotaException("Error de "+nodoDue駉.getIdNodo().getIP()+":"+nodoDue駉.getIdNodo().getPuerto()+" al intentar realizar petici髇 remota: "+pet.getMetodo()+" dest: "+pet.getDestino().getIP()+":"+pet.getDestino().getPuerto()+" "+e.getMessage()); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -