Weka proksi ya ClientWebSocket kabla ya kuunganisha
Sanidi proksi ya .NET WebSocket na vitambulisho vyake kabla ya kuanzisha muunganisho, ukiweka tofauti na vitambulisho vya lengwa.
Sanidi chaguo za ClientWebSocket kabla ya kuita ConnectAsync. Kuanza muunganisho kwanza na kisha kuweka proksi baadaye ni kuchelewa sana kwa handshake hiyo.
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);
Anwani na vigeu vya akaunti ni mifano. Nafasi za majina zinazohitajika zinajumuisha System.Net, System.Net.WebSockets na System.Threading. Tumia aina ya vitambulisho na utaratibu wa uthibitishaji unaoungwa mkono na runtime, jukwaa na huduma ya proksi katika usambazaji wako.
Vitambulisho vya WebProxy ni vya proksi. ClientWebSocketOptions pia ina sifa ya Credentials tofauti kwa uthibitishaji wa seva ya WebSocket. Kuweka moja hakuikidhi upande mwingine kiotomatiki.
Kwa muunganisho salama wa WebSocket, handaki ya proksi iliyokataliwa inaweza kuzuia handshake ya WebSocket ya lengwa kuanza kabisa. Tenganisha ushahidi wa muunganisho na uthibitishaji wa proksi na jibu la HTTP upgrade la lengwa na trafiki ya WebSocket inayofuata.
Muunganisho uliofaulu ni mwanzo wa kikao tu. Weka wazi kughairi upokeaji/utume na usafishaji wa rasilimali katika maisha yote ya programu; tarehe ya mwisho ya usanidi katika mchoro huu si sera kamili kwa kila ujumbe unaofuata.