Kí ni ilé-iṣẹ́ socket SOCKS ti Jedis gbọ́dọ̀ dá padà
Jedis 5.2.0 ń retí socket tí ó so pọ̀ tí ó sì ṣetán fún Redis, pẹ̀lú TLS nígbà tí ó bá yẹ; yíyan proxy nìkan kò pèsè ìsopọ̀ yẹn.
JedisSocketFactory.createSocket gbọ́dọ̀ dá socket tí ó so pọ̀ tí ó sì ṣetán láti gbé ìrìnàjò Redis padà. Nínú Jedis 5.2.0, ohun èlò náà ń pèsè ilé-iṣẹ́ yẹn àti ìṣètò ẹrù Redis rẹ̀ níbí:
var jedis = new Jedis(socksSocketFactory, redisConfig);socksSocketFactory ń ṣiṣẹ́ redis.clients.jedis.JedisSocketFactory, redisConfig sì ni JedisClientConfig ohun èlò náà. Ẹ ṣetán láti sopọ̀ nígbà tí olùdá bá ń ṣiṣẹ́: ó lè ṣe ìjẹ́rìí àti àwọn ìṣètò Redis mìíràn lẹ́sẹ̀kẹsẹ̀.
Tẹ̀lé socket kan láti ìpilẹ̀ṣẹ̀ dé ìfàṣọ́nà
Fún ọ̀nà SOCKS5 tí kò ní ìjẹ́rìí, ilé-iṣẹ́ náà lè dá java.net.Socket pẹ̀lú alárinà Proxy.Type.SOCKS tí ó ṣe kedere, lẹ́yìn náà sopọ̀ mọ́ àlejò àti ibùdókọ̀ Redis. Fi ibi àfojúsùn náà sílẹ̀ láìyanjú bí olùpèsè SOCKS bá gbọ́dọ̀ yanjú orúkọ àlejò náà.
Dín ìgbìyànjú ìsopọ̀ kù, kí o sì lo àkókò kíkà tí a pinnu. Bí ìsopọ̀ bá kùnà, pa socket yẹn, kí o sì jábọ̀ JedisConnectionException; ojú-ọ̀nà ilé-iṣẹ́ náà kò kéde IOException tí a ti yẹ̀wò.
Bí Redis bá nílò TLS, fi TLS múlẹ̀ kí o sì dájú rẹ̀ kí o tó dá socket padà. A kò lè rò pé àsíá ọ̀tọ̀ yóò yí socket àìdánilójú èyíkéyìí tí ilé-iṣẹ́ náà dá padà. Fún àkójọ, tún ìgbésẹ̀ ìgbésí ayé yìí ṣe pẹ̀lú socket tuntun ní gbogbo ìpè ilé-iṣẹ́, pẹ̀lú àwọn ìsopọ̀ àròpo.
Yíyan HTTP nínú ProxySelector àgbáyé kì í ṣe ìmúṣẹ̀ àfidípò ti iṣẹ́ yìí. Redis ń fi RESP ránṣẹ́ lórí socket rẹ̀; kì í sì í di HTTP nítorí náà, kì í sì ṣe ìdúnàdúrà CONNECT.