Itakda ang Proxy ng ClientWebSocket Bago Kumonekta
I-configure ang .NET WebSocket proxy at ang mga kredensyal nito bago ang pag-set up ng koneksyon, na hiwalay sa mga kredensyal ng destinasyon.
I-configure ang mga opsyon ng ClientWebSocket bago tawagin ang ConnectAsync. Ang magsimula muna ng koneksyon at italaga ang proxy pagkatapos ay huli na para sa handshake na iyon.
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);
Ang mga address at variable ng account ay halimbawa lamang. Kasama sa mga kinakailangang namespace ang System.Net, System.Net.WebSockets at System.Threading. Gamitin ang uri ng kredensyal at mekanismo ng pagpapatotoo na sinusuportahan ng runtime, platform at serbisyo ng proxy sa iyong deployment.
Ang mga kredensyal ng WebProxy ay pag-aari ng proxy. Ang ClientWebSocketOptions ay mayroon ding hiwalay na property na Credentials para sa pagpapatotoo ng WebSocket server. Ang pagtatalaga ng isa ay hindi awtomatikong tumutugon sa kabilang panig.
Para sa secure na koneksyon ng WebSocket, ang tinanggihang proxy tunnel ay maaaring pumigil sa handshake ng WebSocket ng destinasyon na magsimula. Paghiwalayin ang ebidensya ng koneksyon at pagpapatotoo ng proxy mula sa HTTP upgrade na tugon ng destinasyon at sa kasunod na trapiko ng WebSocket.
Ang matagumpay na koneksyon ay simula lamang ng session. Panatilihing malinaw ang pagkansela ng pagtanggap/pagpapadala at paglilinis ng mapagkukunan sa buong buhay ng aplikasyon; ang takdang panahon ng pag-set up sa sketch na ito ay hindi kumpletong patakaran para sa bawat susunod na mensahe.