You've already forked com.unity.ide.cursor
mirror of
https://github.com/boxqkrtm/com.unity.ide.cursor.git
synced 2026-05-15 14:50:08 +00:00
## [2.0.0] - 2019-11-06 - Improved Visual Studio and Visual Studio for Mac automatic discovery - Added support for the VSTU messaging system (start/stop features from Visual Studio) - Added support for solution roundtrip (preserves references to external projects and solution properties) - Added support for VSTU Analyzers (requires Visual Studio 2019 16.3, Visual Studio for Mac 8.3) - Added a warning when using legacy pdb symbol files. - Fixed issues while Opening Visual Studio on Windows - Fixed issues while Opening Visual Studio on Mac ## [1.1.1] - 2019-05-29 Fix Bridge assembly loading with non VS2017 editors ## [1.1.0] - 2019-05-27 Move internal extension handling to package.
54 lines
1.2 KiB
C#
54 lines
1.2 KiB
C#
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
using System;
|
|
using System.Net;
|
|
using System.Net.Sockets;
|
|
|
|
namespace Microsoft.Unity.VisualStudio.Editor.Messaging
|
|
{
|
|
internal class UdpSocket : Socket
|
|
{
|
|
public const int BufferSize = 1024 * 8;
|
|
|
|
internal UdpSocket()
|
|
: base(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
|
|
{
|
|
SetIOControl();
|
|
}
|
|
|
|
public void Bind(IPAddress address, int port = 0)
|
|
{
|
|
Bind(new IPEndPoint(address ?? IPAddress.Any, port));
|
|
}
|
|
|
|
private void SetIOControl()
|
|
{
|
|
if (!VisualStudioEditor.IsWindows)
|
|
return;
|
|
|
|
try
|
|
{
|
|
const int SIO_UDP_CONNRESET = -1744830452;
|
|
|
|
IOControl(SIO_UDP_CONNRESET, new byte[] { 0 }, new byte[0]);
|
|
}
|
|
catch
|
|
{
|
|
// fallback
|
|
}
|
|
}
|
|
|
|
public static byte[] BufferFor(IAsyncResult result)
|
|
{
|
|
return (byte[])result.AsyncState;
|
|
}
|
|
|
|
public static EndPoint Any()
|
|
{
|
|
return new IPEndPoint(IPAddress.Any, 0);
|
|
}
|
|
}
|
|
}
|