Ffurfweddwch opsiynau ClientWebSocket cyn galw ConnectAsync. Dechrau'r cysylltiad yn gyntaf ac yna neilltuo'r proxy yn rhy hwyr ar gyfer y handshake hwnnw.

using var socket = new ClientWebSocket();
socket.Options.Proxy = new WebProxy("http://203.0.113.10:8080")
{
    Credentials = new NetworkCredential(proxyUser, proxyPassword)
};
using var deadline = new CancellationTokenSource(TimeSpan.FromSeconds(20));
await socket.ConnectAsync(new Uri("wss://example.com/socket"),
                          deadline.Token);

Mae'r cyfeiriadau a'r newidynnau cyfrif yn ddarluniadol. Mae'r gofodau enw gofynnol yn cynnwys System.Net, System.Net.WebSockets a System.Threading. Defnyddiwch y math o gyfriflythyrau a'r mecanwaith dilysu a gefnogir gan y runtime, y platfform a'r gwasanaeth proxy yn eich gosodiad.

Mae cyfriflythyrau WebProxy yn perthyn i'r proxy. Mae gan ClientWebSocketOptions hefyd briodwedd Credentials ar wahân ar gyfer dilysu gweinydd WebSocket. Nid yw neilltuo'r naill yn bodloni'r llall yn awtomatig.

Ar gyfer cysylltiad WebSocket diogel, gall tiwnel proxy a wrthodir atal handshake WebSocket y cyrchfan rhag dechrau o gwbl. Gwahanwch dystiolaeth cysylltiad a dilysu'r proxy oddi wrth ymateb HTTP upgrade y cyrchfan a thraffig WebSocket diweddarach.

Dechrau'r sesiwn yn unig yw cysylltiad llwyddiannus. Cadwch ganslo derbyn/anfon a glanhau adnoddau yn benodol ar gyfer oes yr ap; nid yw'r terfyn amser sefydlu yn y braslun hwn yn bolisi cyflawn ar gyfer pob neges ddilynol.

Erthyglau cysylltiedig