د HTTP forward proxy لپاره د Gorilla Dialer.Proxy تنظیم کړئ. د WebSocket URL منزل پاتې کېږي:

proxyURL, err := url.Parse("http://proxy.example:8080")
if err != nil {
    return err
}
dialer := websocket.Dialer{
    Proxy: http.ProxyURL(proxyURL),
    HandshakeTimeout: 15 * time.Second,
}
conn, response, err := dialer.DialContext(
    ctx, "wss://events.example/stream", nil)

دا برخه د اپلیکېشن د اړیکې فنکشن کې ده، چې net/url, net/http, time او github.com/gorilla/websocket شته. err او هر ناکام handshake ځواب سمبال کړئ، بیا conn د عادي پیغام او بندولو د ژوند دورې له لارې مدیریت کړئ. د اجازې وړ عامه WSS پای ټکي لپاره د HTTP پروکسي لیست د proxyURL لپاره نوماندان وړاندې کوي.

د HTTP پروکسي ډایلر منځنی اړیکه پرانیزي او د منزل لپاره CONNECT لیږي. د wss لپاره، د WebSocket handshake دمخه د جوړ شوي تونل له لارې د منزل TLS تېرېږي.

NetDialContext د ټیټې کچې TCP اړیکه تنظیموي. یوازې د پروکسي پورټ ته اشاره کول CONNECT نه پلي کوي. کله چې Proxy هم ټاکل شوی وي، د شبکې ځانګړی callback له منځګړي سره نښلېږي، او د پروکسي پوړ خبرې اترې سمبالوي.

د منزل هوسټ نوم په wss URL کې وساتئ ترڅو د TLS معمول پېژندنه د پام وړ سرور لپاره پلي شي.

اړوندې مقالې