⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 llamadaremota.java

📁 java 实现的P2P Chord算法。chord算法是结构式的P2P搜索与管理协议
💻 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 + -