我在Unity 5.2.0f3 64Bits上面临一个非常奇怪的问题。当我为Installing package into ‘C:/Users/Marc/Documents/R/win-library/3.2’
(as ‘lib’ is unspecified)
Warning message:
ackage ‘iris’ is not available (for R version 3.2.2)
连接创建自己的自定义类时,这个连接永远不会连接。这是我的简单课程:
TcpClient
这是一个不从protected override void StartClient(string mod, string ip)
{
RunClient(ip, mod);
}
private ManualResetEvent connectDone = new ManualResetEvent(false);
private void connect_done(IAsyncResult ar)
{
connectDone.Set();
}
private void RunClient(string ip_host_name, string mode)
{
try
{
TcpClient client = new TcpClient();
client.BeginConnect(IPAddress.Parse(ip_host_name), 6666, new AsyncCallback(connect_done), client);
connectDone.WaitOne();
//Console.WriteLine("Connected");
SslStream lv_ssl_stream = new SslStream(client.GetStream(), false,
new RemoteCertificateValidationCallback(ValidateServerCertificate), null);
if (authenticate_server(lv_ssl_stream, client))
{
}
else
{
// Console.WriteLine("\nCouldn't authenticate the server");
}
client.Close();
}
catch (Exception e)
{
}
}
继承的自定义类,因为它的想法是在不同的线程上运行。当我执行Unity应用程序时,类实例已正确创建并执行(带有/出线程,这是两个相同的行为)。
当流程遇到MonoBehaviour
时会触发client.BeginConnect()
,但AsyncCallback()
仍然是假的。
当我用client.connected
替换client.BeginConnect()
时,进程将挂起,当它不在另一个线程中执行时,Unity框架就会转储。 (没有回应)
我首先在.Net 2012上开发了这个类,可以执行所有预期的结果(没有错误)。
编辑:
当我在client.Connect()
中创建并运行TcpClient.Connect()
时,MonoBehaviour
已连接到我的服务器,但这对我来说不是一个解决方案,因为它会返回大量数据。< / p>
有人遇到过这类问题吗?
答案 0 :(得分:0)
该问题的解决方法是创建一个正常的统一C#脚本,将整个客户端代码放在那里
Unity仍然是错误的,因为第一次复制代码时,它无法正常工作,但在其中注释/工作(复制RunClient()
的代码)......