2011-06-17 35 views
1

我有一个客户端应用程序,我收集数据并将其存储在类数据包结构中。我可以将这个类的对象发送到我的服务器应用程序吗?这两个应用程序都运行在通过局域网连接的不同机器上。Quick question TCP/IP .Net Remoting

在.Net Remoting中,其中Object在服务器中实例化并且Objref与客户端共享。现在,我将Packet的这个对象作为远程对象,用作客户端激活的对象。该对象在客户端激活时创建。

public class Packet : MarshalByRefObject { 
     public int svrnumber; 
     public string svrname; 
     [NonSerialized] 
     public static IObserver Observer; 

     public void MessageString(object value) { 
       Observer.Notify(value); 
     } 

     public static void Attach(IObserver observer) { 
      Observer = observer; 
     } 
    } 

我在客户端引用这个类的Pack(Object)并赋值。

  Pack.svrname = "Bob"; 
      Pack.svrnumber = 123456; 

      sample = (Object)Pack; 

将此示例对象传递给通知。我通过Notify函数在服务器上接收此示例对象,并将其取出以获取我的值。

当我调用函数MessageString时,我得到一个异常作为安全限制Objref不可访问!

也告诉我是否有任何其他方法来解决这个问题。或者我应该使用SocketProgramming方法,我将所有的类值转换为字节,然后发送到服务器,然后重新分配它们。

谢谢。

回答

0

我会使用WCF的方法,完成这一点,并不意味着远程处理。

+0

现在我正在使用套接字编程。需要学习WCF的东西。 .NET Remoting似乎是古老的... – Mullaly 2011-06-20 08:51:18