小工程要实现:
client 远程发送给server多个class文件(含在多个包里)。
server负责执行这些class文件。
通过发送Call类将类名,方法名,方法参数类型,方法参数值发送到server端
Call的成员如下
result 为返回的执行结果
public class Call implements Serializable{
private String className;
private String methodName;
private Class<?>[] paramTypes;
private Object[] paramValues;
private Object result;
new一个Call对象。testpackag.TestProgram 类是通过socket发送过来的class文件,
runTest是类中的方法。
Call call = new Call("testpackage.TestProgram", "runTest", 
new Class<?>[]{}, new Object []{});服务器上的服务方法
    public void callService() throws Exception{
while(true){
Socket socket = serverSocket.accept();
InputStream in = socket.getInputStream();
ObjectInputStream ois = new ObjectInputStream(in);
OutputStream out = socket.getOutputStream();
ObjectOutputStream oos= new ObjectOutputStream(out);
Call call =(Call)ois.readObject();
System.out.println(call);
call=callInvoke(call);
oos.writeObject(call);
ois.close();
oos.close();
socket.close();
}
             public Call callInvoke(Call call){
Object result= null;
try {
String className = call.getClassName();
String methodName= call.getMethodName();
Object[] params = call.getParamValues();
Class<?>classType = Class.forName(className);
//System.out.println(classType);
Class<?>[] paramTypes = call.getParamTypes();
Method method=classType.getMethod(methodName, paramTypes);

Object remoObject = classType.newInstance();

if(remoObject==null){
System.out.println(className+"的远程对象不存在");
}else {
result= method.invoke(remoObject, params);//开始执行。。
}
} catch (Exception e) {
result =e;
}
call.setResult(result); //将结果写到call对象 
return call;
}
----------------------------------------------------------
背景大概就是这样,(也可能没讲清楚)
问题:在执行的过程中抛出异常,java.lang.ClassNotFoundException: testpackage.TestProgram
如果在服务器端编写testpackage.TestProgram 并编译,则可以成功执行。(问题就变成了client远程执行server的对象方法,而我想要实现的是class文件我在client编译好,发送到server端,由server执行,将返回结果返回到client端)
想知道:: 我说明白了吗?(可回帖讨论)我错在了哪里? 用什么技术可以解决? 能否给出一个小小例子?(socket和call不用编写,写核心代码就行) 
感谢:十分感谢那些帮助想我一样处在困境中的同行。谢谢。反射socket网络编程