Socket ile veriyi byte olarak gönderiyorsunuz zaten.


GET https://www.site.com HTTP/1.0\r\n
Host: www.site.com\r\n
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\n
Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3\r\n
Accept-Encoding: gzip, deflate, br\r\n
Bu şekilde http isteği karşıdaki serverin 80 portuna socket ile gönderilir. Burada HTTP/1.0 olan yeri HTTP/2.0 yaparsan 2.0 gider. Karşıdaki makinanın bunu 2.0 olarak yorumlamasını sağlarsın.

Çözüm bu olur bence. Socket üzerinde http2.0 başka nasıl gönderilir ki?