Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 导入后立即出现unity套接字io错误_C#_Socket.io_Unity5 - Fatal编程技术网

C# 导入后立即出现unity套接字io错误

C# 导入后立即出现unity套接字io错误,c#,socket.io,unity5,C#,Socket.io,Unity5,你好 首先对不起我的英语不好 我正在学习使用unity(5.3.4p3)、node.sj和socket.io软件包(版本:1.0.2(2014年9月24日))构建多人游戏 我从unity内部的unity资产商店下载了它。进口整包 3发生错误时,本人未做任何更改: **1) **Assets/SocketIO/WebsocketSharp/Ext.cs(84,81):错误CS1729:类型“System.IO.Compression.Deflatestream”不包含接受“3”参数的构造函数 **

你好

首先对不起我的英语不好

我正在学习使用unity(5.3.4p3)、node.sj和socket.io软件包(版本:1.0.2(2014年9月24日))构建多人游戏

我从unity内部的unity资产商店下载了它。进口整包

3发生错误时,本人未做任何更改:

**1) **Assets/SocketIO/WebsocketSharp/Ext.cs(84,81):错误CS1729:类型“System.IO.Compression.Deflatestream”不包含接受“3”参数的构造函数

**2) **与(118,83)中的错误相同

**3) **Assets/SocketIO/WebsocketSharp/Net/HttpConnection.cs(96,16):错误CS1061Ttype“WebsocketSharp.Net.Security.SslSteram”不包含“AuthenticateSrver”的定义,并且找不到类型为“WebsocketSharp.Net.Security.SslStream”的扩展方法“authenticateAsserver”(是否缺少using指令或集合引用?)

(请注意,有两个警告不是问题所在。问题是这三个错误,如果不纠正它们,我就无法检查我的游戏。)

对于1和2,我检查了Ext.cs脚本文件。似乎函数有2个构造函数,其中一个有3个参数。这似乎正常。但错误表明不是这样!!

这是一行:

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 ();
}
使用(var ds=新的deflatestStream(输出,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;
  }
}
   sslStream.AuthenticateAsServer (listener.Certificate);
我试图删除第三个参数(“true”。一个bool值)。将其更改为2参数形式。错误消失。但另一个错误出现在EndPointListener.cs中。我认为没有用,并且会产生更多错误

对于错误3,似乎“AutenticationAsServer”存在并且是正常的……但错误消息再次表明并非如此

错误行是:

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;
  }
}
   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的第一个功能

我试着评论这句话。错误消失了…但它可能会有后果


我不知道出了什么问题。如果可以,请帮助。

您是否制作了另一个名为“socket”的类否则?请检查库中是否有其他您命名为相同的类。

我唯一能解决此问题的方法是下载另一个unity版本…没问题…unity的某些版本似乎与socket.io packege有问题