Darllen wyth beit, yna trosglwyddo'r twnnel SOCKS4
Osgoi llyncu cyfarchiad cyrchfan neu aros am feitiau nad ydynt yn bod drwy ddadansoddi terfyn sefydlog yr ateb SOCKS4.
Mae'r cais cysylltiad SOCKS4 yn llwyddo, ond nid yw'r cymhwysiad byth yn gweld cyfarchiad agoriadol y gweinydd. Un lle i edrych yw darlleniad cyntaf y cysylltydd. Mae darlleniad o un ar bymtheg beit yn rhy fawr ar gyfer ateb SOCKS4 o wyth beit.
| Maes yr ateb | Beitiau |
|---|---|
| Maes fersiwn yr ateb | 1 |
| Cod canlyniad | 1 |
| Maes porth | 2 |
| Maes cyfeiriad | 4 |
Mae cod canlyniad 0x5a yn dangos bod y cais wedi'i ganiatáu. Mae SOCKS4a yn newid y ffordd y mae'r cais yn cario enw gwesteiwr; nid yw'n troi'r ateb yn un ar bymtheg beit.
Ar ôl yr ateb, mae'r un ffrwd TCP yn cario protocol y cyrchfan. Gall gweinydd post anfon ei gyfarchiad ar unwaith. Felly gall darlleniad sy'n defnyddio un ar bymtheg beit sydd ar gael gymryd ateb cyflawn y dirprwy ynghyd â'r wyth beit cyntaf o'r cyfarchiad hwnnw. Os nad oes dim yn dilyn eto, gall darlleniad blocio rhy fawr ychwanegu aros diangen yn lle hynny.
Mae union hyd yn gyfrifoldeb y parser
Nid yw gofyn am wyth beit unwaith yn dystiolaeth ddigonol bod wyth beit wedi cyrraedd. Gall darlleniadau ffrwd ddychwelyd llai. Casglwch union hyd yr ateb o fewn terfyn amser, stopiwch ar ffrwd gaeedig neu fethiannus, archwiliwch yr ateb, a gadewch y beitiau dilynol i'r cymhwysiad.
Os yw'r cysylltydd yn defnyddio darlleniad byffer mwy, cadwch bopeth ar ôl y terfyn a'i basio i'r defnyddiwr nesaf. Mae gwastraffu'r gormodedd yr un golled data â maint darllen gwahanol.
Mae angen parser ei hun ar SOCKS5. Gall hyd ei gyfeiriad ateb fod yn wahanol yn ôl y math o gyfeiriad. Byddai disodli pob darlleniad dirprwy â darlleniad sefydlog o wyth beit yn trwsio un protocol wrth dorri un arall.