Miksi data vastaanotetaan kahdessa osassa? käytän Winsock6:sta & VB6:sta. Ensin tulee merkkijonon ensimmäinen kirjain ja sitten loput. vastaava koodi osoitteessa "http://www.ohjelmointiputka.net/koodit_nayta.php?tunnus=731" käytössä TCP/IP (ei UDP)
Miksi data vastaanotetaan kahdessa osassa? Winsock6 & VB6
VB koodari
2373
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 2
Vanhimmat
Toi on ihan normaalia että lähetetty data tulee useampana osana kun käytössä on TCP socketti... Lähetetty merkkijono voi vaikka tulla yksi kirjain kerrallaan jos yhteys on oikein hidas. Kuvitteleppa jos vaikka lähetät 2000 MB tiedoston yhtenä könttinä toiselle koneelle niin tuskimpa se kaikki kerralla on perillä, se pilkkoutuu pienemmiksi palasiksi jotka clientin täytyy koota yhdeksi tiedostoksi.
Jos haluat että merkkijono vastaanotetaan kokonaisena koita saada "linemode" käyttöön socketeissa (mikäli se onnistuu VB:n Winsocket kontrollilla). Tai sitten käytä blokkaavia socketteja... vaikkakin niiden käyttö VB:ssä voi olla hankalampaa koska tarvitaan usampia säikeitä.
Mitä tarkoittaa tuo "linemode". Mulla Clientti lähettää noin 10 merkkiä ja aina tulee ensin yksi merkki ja sitten loput. Clientti pyörii PDA -laitteessa ja Serveri PC:ssä. Ihmtyttää miksi ensin tulee AINA 1 merkki! Voisko johtua tuosta PDA -laitteesta? PC PC yhteydessä tulee aina kaikki kerralla. Voinhan kyllä liittää ne serveripäässä yhteen.