C# 导入后立即出现unity套接字io错误
你好 首先对不起我的英语不好 我正在学习使用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个参数。这似乎正常。但错误表明不是这样!! 这是一行: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”参数的构造函数 **
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有问题