导入

时间:2017-01-16 16:39:52

标签: c# socket.io unity5

您好

首先抱歉我的英语不好。

我正在学习使用unity(5.3.4p3),node.sj和socket.io包(版本:1。0。2(2014年9月24日))学习构建多人游戏的起点。

我是从Unity统一资产商店下载的。并导入整个包。

3 错误在没有任何更改的情况下发生:

** 1)** Assets / SocketIO / WebsocketSharp / Ext.cs(84,81):错误CS1729:Type' System.IO.Compression.Deflatestream不包含带&#39的构造函数; 3'参数

** 2)**是(118,83)

中的相同错误

** 3)** Assets / SocketIO / WebsocketSharp / Net / HttpConnection.cs(96,16):错误CS1061Ttype' WebSocketSharp.Net.Security.SslSteram'不包含' AuthenticateAsSrver'的定义没有扩展方法' AutenthenteAsServer'类型' WebSocketSharp.Net.Security.SslStream'可以找到(你错过了使用指令或汇编参考吗?)

(请注意,有2个警告不是问题。问题是这3个错误,我可以在不修复它的情况下检查我的游戏。)

对于1和2,我检查Ext.cs脚本文件。似乎函数有2个构造函数,其中一个有3个参数。 看起来很正常。但错误说不然!! ;

这是一行:

using(var ds = new DeflateStream(output,CompressionMode.Compress,true)){

以及整个部分:

private static MemoryStream compress (this Stream stream)
{
  var output = new MemoryStream ();
  if (stream.Length == 0)
    return output;

  stream.Position = 0;
  using (var ds = new DeflateStream (output, CompressionMode.Compress, true)) {
    stream.CopyTo (ds);
    ds.Close (); // "BFINAL" set to 1.
    output.Position = 0;

    return output;
  }
}

我试图删除第三个参数(" true"一个bool值)。将它改为2参数形式。错误消失了。但是在EndPointListener.cs中出现另一个错误。我认为没用,会产生更多错误。

对于错误3,似乎' AutenticationAsServer'存在并且是正常的...但错误消息再次说明了。

错误行是:

   sslStream.AuthenticateAsServer (listener.Certificate);

功能:

public HttpConnection (Socket socket, EndPointListener listener)
{
  _socket = socket;
  _listener = listener;
  _secure = listener.IsSecure;

  var netStream = new NetworkStream (socket, false);
  if (_secure) {
    var sslStream = new SslStream (netStream, false);
    sslStream.AuthenticateAsServer (listener.Certificate);
    _stream = sslStream;
  }
  else {
    _stream = netStream;
  }

  _sync = new object ();
  _timeout = 90000; // 90k ms for first request, 15k ms from then on.
  _timer = new Timer (onTimeout, this, Timeout.Infinite, Timeout.Infinite);

  init ();
}

这是HttpConnection.cs的第一个功能

我试着评论这一行。错误消失了......但它可能会有后果。

我不知道有什么不对。如果可以的话请帮助......

1 个答案:

答案 0 :(得分:0)

您是否创建了另一个名为“ socket”的类?检查您是否在库中命名了其他类。