feat: LLAPI transport can receive port from uri (#1294)

* feat: LLAPI transport can receive port from uri

* Refactor to use the original method
This commit is contained in:
Paul Pacheco 2019-12-09 14:52:50 -06:00 committed by vis2k
parent c8ad118d50
commit 7865a840b6

View File

@ -18,6 +18,8 @@ namespace Mirror
[EditorBrowsable(EditorBrowsableState.Never), Obsolete("LLAPI is obsolete and will be removed from future versions of Unity")]
public class LLAPITransport : Transport
{
public const string Scheme = "unet";
public ushort port = 7777;
[Tooltip("Enable for WebGL games. Can only do either WebSockets or regular Sockets, not both (yet).")]
@ -110,7 +112,9 @@ public override bool ClientConnected()
return clientConnectionId != -1;
}
public override void ClientConnect(string address)
void ClientConnect(string address, int port)
{
// LLAPI can't handle 'localhost'
if (address.ToLower() == "localhost") address = "127.0.0.1";
@ -131,6 +135,21 @@ public override void ClientConnect(string address)
}
}
public override void ClientConnect(string address)
{
ClientConnect(address, port);
}
public override void ClientConnect(Uri uri)
{
if (uri.Scheme != Scheme)
throw new ArgumentException($"Invalid url {uri}, use {Scheme}://host:port instead", nameof(uri));
int serverPort = uri.IsDefaultPort ? port : uri.Port;
ClientConnect(uri.Host, serverPort);
}
public override bool ClientSend(int channelId, ArraySegment<byte> segment)
{
// Send buffer is copied internally, so we can get rid of segment