ConnectAsync ਕਾਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ClientWebSocket ਦੇ ਵਿਕਲਪ ਕਾਨਫਿਗਰ ਕਰੋ। ਪਹਿਲਾਂ ਕਨੈਕਸ਼ਨ ਸ਼ੁਰੂ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਪਰਾਕਸੀ ਨਿਰਧਾਰਤ ਕਰਨਾ ਉਸ ਹੈਂਡਸ਼ੇਕ ਲਈ ਬਹੁਤ ਦੇਰ ਹੈ।

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);

ਪਤੇ ਅਤੇ ਖਾਤਾ ਵੇਰੀਏਬਲ ਉਦਾਹਰਨ ਹਨ। ਲੋੜੀਂਦੇ ਨੇਮਸਪੇਸ ਵਿੱਚ System.Net, System.Net.WebSockets ਅਤੇ System.Threading ਸ਼ਾਮਲ ਹਨ। ਆਪਣੀ ਤੈਨਾਤੀ ਵਿੱਚ ਰਨਟਾਈਮ, ਪਲੇਟਫਾਰਮ ਅਤੇ ਪਰਾਕਸੀ ਸੇਵਾ ਵੱਲੋਂ ਸਮਰਥਿਤ ਪ੍ਰਮਾਣ ਪੱਤਰ ਕਿਸਮ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਵਿਧੀ ਵਰਤੋ।

WebProxy ਦੇ ਪ੍ਰਮਾਣ ਪੱਤਰ ਪਰਾਕਸੀ ਦੇ ਹੁੰਦੇ ਹਨ। ClientWebSocketOptions ਵਿੱਚ WebSocket ਸਰਵਰ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਵੱਖਰੀ Credentials ਵਿਸ਼ੇਸ਼ਤਾ ਵੀ ਹੈ। ਇੱਕ ਨਿਰਧਾਰਤ ਕਰਨ ਨਾਲ ਦੂਜਾ ਧਿਰ ਆਪਣੇ ਆਪ ਸੰਤੁਸ਼ਟ ਨਹੀਂ ਹੁੰਦੀ।

ਸੁਰੱਖਿਅਤ WebSocket ਕਨੈਕਸ਼ਨ ਵਿੱਚ, ਰੱਦ ਕੀਤੀ ਪਰਾਕਸੀ ਟਨਲ ਟਿਕਾਣੇ ਦੇ WebSocket ਹੈਂਡਸ਼ੇਕ ਨੂੰ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਹੀ ਰੋਕ ਸਕਦੀ ਹੈ। ਪਰਾਕਸੀ ਕਨੈਕਸ਼ਨ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਦੇ ਸਬੂਤ ਨੂੰ ਟਿਕਾਣੇ ਦੇ HTTP upgrade ਜਵਾਬ ਅਤੇ ਬਾਅਦ ਦੀ WebSocket ਟ੍ਰੈਫਿਕ ਤੋਂ ਵੱਖ ਰੱਖੋ।

ਸਫਲ ਕਨੈਕਸ਼ਨ ਸਿਰਫ਼ ਸੈਸ਼ਨ ਦੀ ਸ਼ੁਰੂਆਤ ਹੈ। ਐਪ ਦੀ ਪੂਰੀ ਉਮਰ ਦੌਰਾਨ ਪ੍ਰਾਪਤੀ/ਭੇਜਣ ਦੀ ਰੱਦ ਅਤੇ ਸਰੋਤ ਸਫ਼ਾਈ ਸਪਸ਼ਟ ਰੱਖੋ; ਇਸ ਸਕੈਚ ਵਿੱਚ ਸੈੱਟਅਪ ਸਮਾਂ-ਸੀਮਾ ਹਰ ਅਗਲੇ ਸੁਨੇਹੇ ਲਈ ਪੂਰੀ ਨੀਤੀ ਨਹੀਂ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ