35 lines
1.2 KiB
C#
35 lines
1.2 KiB
C#
using System;
|
|
using System.Net.WebSockets;
|
|
using Microsoft.AspNetCore.WebSockets.Internal;
|
|
|
|
namespace Microsoft.AspNetCore.WebSockets.Test
|
|
{
|
|
internal class WebSocketPair
|
|
{
|
|
public WebSocket ClientSocket { get; }
|
|
public WebSocket ServerSocket { get; }
|
|
public DuplexStream ServerStream { get; }
|
|
public DuplexStream ClientStream { get; }
|
|
|
|
public WebSocketPair(DuplexStream serverStream, DuplexStream clientStream, WebSocket clientSocket, WebSocket serverSocket)
|
|
{
|
|
ClientStream = clientStream;
|
|
ServerStream = serverStream;
|
|
ClientSocket = clientSocket;
|
|
ServerSocket = serverSocket;
|
|
}
|
|
|
|
public static WebSocketPair Create()
|
|
{
|
|
// Create streams
|
|
var serverStream = new DuplexStream();
|
|
var clientStream = serverStream.CreateReverseDuplexStream();
|
|
|
|
return new WebSocketPair(
|
|
serverStream,
|
|
clientStream,
|
|
clientSocket: WebSocketFactory.CreateClientWebSocket(clientStream, null, TimeSpan.FromMinutes(2), 1024),
|
|
serverSocket: WebSocketFactory.CreateServerWebSocket(serverStream, null, TimeSpan.FromMinutes(2), 1024));
|
|
}
|
|
}
|
|
} |