严重性 代码 说明 项目 文件 行 禁止显示状态 错误 CS0117 “QosType”未包含“FragmentedSequenced”的定义 Assembly-CSharp D:\unity3dprojiect\video\Assets\2_C#\NetworkTest.cs 24 活动
时间: 2023-06-30 13:16:39 浏览: 139
这个错误是因为QosType枚举中不包含名为FragmentedSequenced的定义。QosType是Unity的一个枚举类型,用于标识不同的网络质量服务(QoS)类型。
为了解决这个问题,您需要更改代码中使用的QosType值。您可以使用以下值之一:
- Unreliable:不保证消息传递的可靠性,但具有最短的延迟和最低的带宽要求。
- UnreliableFragmented:与Unreliable相同,但允许消息被分成多个碎片以在网络上传输。
- Reliable:保证消息传递的可靠性,但可能会有较高的延迟和带宽要求。
- ReliableFragmented:与Reliable相同,但允许消息被分成多个碎片以在网络上传输。
- StateUpdate:用于传输状态更新消息。
- ReliableSequenced:保证消息传递的可靠性和顺序性,但可能会有较高的延迟和带宽要求。
- UnreliableSequenced:不保证消息传递的可靠性,但保证消息按照发送顺序接收。
例如,如果您想要使用ReliableFragmented服务类型,您可以将代码更改为:
```csharp
using UnityEngine.Networking;
public class NetworkTest : MonoBehaviour
{
private const int MAX_CONNECTION = 100;
private int port = 5701;
private int hostId;
private int webHostId;
private int reliableChannel;
private int unreliableChannel;
private int connectionId;
private bool isStarted = false;
private byte error;
private void Start()
{
NetworkTransport.Init();
ConnectionConfig cc = new ConnectionConfig();
reliableChannel = cc.AddChannel(QosType.ReliableFragmented);
unreliableChannel = cc.AddChannel(QosType.Unreliable);
HostTopology topo = new HostTopology(cc, MAX_CONNECTION);
hostId = NetworkTransport.AddHost(topo, port, null);
webHostId = NetworkTransport.AddWebsocketHost(topo, port, null);
Debug.Log(string.Format("Opening connection on port {0} and webport {1}", port, port));
isStarted = true;
}
}
```
这样就可以避免使用未定义的枚举值并解决这个错误了。
阅读全文