📄 nathandler.cs
字号:
namespace NCindy.Protocol.RUDP.NATTraversal
{
using System;
using System.Collections.Generic;
using System.Net;
public abstract class NATHandler
{
protected NATHandler()
{
}
public abstract bool CanHandleNAT(List<NATHistoryPoint> history);
public virtual List<IPEndPoint> TargetEndPoints(List<NATHistoryPoint> history)
{
List<IPEndPoint> list = new List<IPEndPoint>();
List<NATHistoryPoint>.Enumerator enumerator = history.GetEnumerator();
try
{
while (enumerator.MoveNext())
{
IPEndPoint peerViewOfLocalEndPoint = enumerator.get_Current().PeerViewOfLocalEndPoint;
if ((peerViewOfLocalEndPoint != null) && !list.Contains(peerViewOfLocalEndPoint))
{
list.Add(peerViewOfLocalEndPoint);
}
}
}
finally
{
enumerator.Dispose();
}
return list;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -