Qt ସହିତ SOCKS5 ମାଧ୍ୟମରେ TCP ଷ୍ଟ୍ରିମ୍ ଖୋଲିବା
ଲକ୍ଷ୍ୟସ୍ଥାନ ସହିତ ସଂଯୋଗ କରିବା ପୂର୍ବରୁ QTcpSocket ର ସ୍ପଷ୍ଟ ପ୍ରକ୍ସି ସେଟ୍ କରନ୍ତୁ, GUI ଆବଶ୍ୟକତା ବିନା Qt Network ବ୍ୟବହାର କରି।
Qt Network ଏକ TCP ସକେଟ ପାଇଁ SOCKS5 ସିଧାସଳଖ ବୁଝାମଣା କରିପାରେ। ବିଦ୍ୟମାନ Qt ଆପ୍ଲିକେସନରେ, ସଂଯୋଗ କରିବା ପୂର୍ବରୁ ସକେଟ ବିନ୍ୟାସ କରନ୍ତୁ:
QNetworkProxy proxy(
QNetworkProxy::Socks5Proxy,
"proxy.example.net",
1080
);
socket.setProxy(proxy);
socket.connectToHost("service.example.net", 12345);
socket ଏକ ବିଦ୍ୟମାନ QTcpSocket। ଉଦାହରଣର ଲକ୍ଷ୍ୟସ୍ଥାନ ଓ ପୋର୍ଟ ଆପ୍ଲିକେସନର TCP ସେବାକୁ ବୁଝାଏ। Qt ପ୍ରଥମେ ପ୍ରକ୍ସି ପାଖରେ ପହଞ୍ଚେ, ତାପରେ ସେହି ଲକ୍ଷ୍ୟସ୍ଥାନକୁ ସଂଯୋଗ କରିବାକୁ ଅନୁରୋଧ କରେ। ସର୍ବସାଧାରଣରେ ପହଞ୍ଚଣଯୋଗ୍ୟ TCP ସେବା ଏବଂ ସର୍ବସାଧାରଣ ମଧ୍ୟସ୍ଥ ଅନୁମତି ଥିଲେ, ପ୍ରକ୍ସି ଖାତା ନଥିବା ଏହି ଉଦାହରଣ ପାଇଁ SOCKS5 ପ୍ରକ୍ସି ତାଲିକା ପ୍ରାର୍ଥୀ ଯୋଗାଏ। ପ୍ରାର୍ଥୀ ସେବାର ପ୍ରକୃତ ହୋଷ୍ଟ ଓ ପୋର୍ଟ ଅନୁମତି ଦିଏ କି ନାହିଁ ନିଶ୍ଚିତ କରନ୍ତୁ।
ସାଧାରଣ ଅସିଙ୍କ୍ରୋନସ ସକେଟ ସଙ୍କେତଗୁଡ଼ିକ ଏବେ ମଧ୍ୟ ପ୍ରଯୁଜ୍ୟ: ଆପ୍ଲିକେସନ ଡାଟା ବିନିମୟ ପୂର୍ବରୁ connected() ଅପେକ୍ଷା କରନ୍ତୁ, ଏବଂ errorOccurred() ପରିଚାଳନା କରନ୍ତୁ। ସଂଯୋଗ ବ୍ୟବହାରରେ ଥିବା ସମୟରେ ସକେଟ ଅବଜେକ୍ଟକୁ ଜୀବିତ ରଖନ୍ତୁ। ବ୍ଲକିଂ କୋଡ ପାଇଁ ଏହାର ବଦଳରେ ଜାଣିଶୁଣି ନିର୍ଦ୍ଧାରିତ ଟାଇମଆଉଟ ସହିତ Qt ର ଡକ୍ୟୁମେଣ୍ଟ ହୋଇଥିବା ଅପେକ୍ଷା ପଦ୍ଧତି ବ୍ୟବହାର କରନ୍ତୁ।
ଏହା Qt Network ଆବଶ୍ୟକ କରେ, widgets-ଆଧାରିତ GUI ନୁହେଁ। ଏହି ସ୍ପଷ୍ଟ ସେଟିଂ ଏହି ସକେଟର। ଅନ୍ୟ ସକେଟଗୁଡ଼ିକ ଆପ୍ଲିକେସନର ଡିଫଲ୍ଟ ରଖିପାରେ କିମ୍ବା ଅନ୍ୟ ପ୍ରକ୍ସି ବାଛିପାରେ। ଏହି ସକେଟକୁ ସିଧାସଳଖ କରିବାକୁ, ସଂଯୋଗ ପୂର୍ବରୁ ଏହାର ପ୍ରକ୍ସି ପ୍ରକାର QNetworkProxy::NoProxy ସେଟ୍ କରନ୍ତୁ।