【发布时间】:2013-05-02 16:47:32
【问题描述】:
我正在处理一个需要与远程客户端合作的 Unity 项目。我创建了一个接口类,并在另一个 Unity 项目中使用了远程服务器。
当服务器正常工作时,客户端的创建失败并出现以下异常:
System.TypeInitializationException:System.Runtime.Remoting.Channels.SocketCache 的类型初始化程序引发了异常---> System.NotImplementedException:请求的功能未实现。 在 System.Threading.ThreadPool.UnsafeRegisterWaitForSingleObject (System.Threading.WaitHandle waitObject, System.Threading.WaitOrTimerCallback callBack, System.Object 状态, TimeSpan 超时, Boolean executeOnlyOnce) [0x00000] in :0
我的客户代码:
MyRemotableObject remoteObject;
void Awake ()
{
try
{
TcpChannel chan = new TcpChannel();
ChannelServices.RegisterChannel(chan, false);
remoteObject = (MyRemotableObject)Activator.GetObject(typeof(MyRemotableObject), "tcp://localhost:124/TargetShooterMenu");
}
catch (Exception e)
{
Debug.LogError(e.ToString());
}
....
有谁知道如何解决这个问题? 根据Mono FAQ,Mono 应该有远程支持。 我在 Windows 7 x64 Professional 机器上使用 Unity 3.5.1(应该有 Mono 2.6.3)。
提前致谢
【问题讨论】:
-
服务器也是基于 Mono 还是 .NET?
-
它也是基于 Mono 的(又名 Unity 程序),但服务器可以工作
-
您是否为您的发行版安装了适当的 libmono-system-runtimeX.Y-cil 包(X.Y 是版本号。2.0、4.0 等)
-
我有 MonoDevelop 2.8.2 版。由于 Mono 是随 Unity Editor 3.5 安装的,我不知道具体在哪里搜索。
-
你的操作系统是什么?如果是 Linux,是哪一种?