Halloj! Vilken encoding använder han? Vet inte har inte kunnat prata med honom idag. Hm, jag tror jag ser ett antal fel när jag tittar lite närmare: Tjaa, det var ett riktigt bra program det där!networkstream
Jag har brottats lite med ett problem idag och kan inte komma på en lösning.
Jag skall via en webbsida prata med ett API till ett program.
Jag har fått specifikation på API:et av utveklaren.
Problemet är att han har använt åäö i API-anropen
Som jag kan förstå det så blir det fel text som skickas till API:et.
När jag skickar vilken text som helst så svarar API:et med HELLO, så långt fungerar det.
Try
Dim tcpc As New TcpClient("192.168.43.131,9086)
Dim ns As NetworkStream = tcpc.GetStream()
If ns.CanWrite And ns.CanRead Then
'Label1.Text = Encoding.ASCII.GetBytes("HämtaArtiklar")
'Encoding.Encoding(1252)
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("HämtaArtikel")
ns.Write(sendBytes, 0, sendBytes.Length - 1)
'Jag har gjort en del utskrifter för att se vad som händer
'Därav de två listboxarna
'När jag gör denna utskriften så blir ä ett ? vilket jag tror är problemet
ListBox2.Items.Add(Encoding.ASCII.GetString(sendBytes))
Dim bytes(tcpc.ReceiveBufferSize) As Byte
ns.Read(bytes, 0, CInt(tcpc.ReceiveBufferSize))
ListBox1.Items.Add(Encoding.ASCII.GetString(bytes))
Else
Label1.Text = "Det gick inte"
End If
ns.Close()
Catch ex As Exception
MsgBox(ex.Message)
End TrySv: networkstream
En gissning är att UTF8 fungerar bättre än ASCIISv:networkstream
Jag har provat med alla olika typer ev Encoding. UTF8 UTF7 och nån till som jag inte kommer ihåg vad de heter.
Vet inte om det är jag som kodar fel eller vad det är...Sv: networkstream
1) Din debug, ASCII kan så vitt jag vet inte koda åäö utan det blir bara skräp av de tecknen. Du måste använda en annan teckenuppsättning än ASCII, t.ex. UTF8. (Dessutom måste du såklart både koda och avkoda med UTF8, annars ser din debug konstig ut.)
2) När du skickar, varför tar du - 1 på Length? Du tappar sista byten där, och det lär säkert göra API:t upprört.
Ett tips är att titta på http://www.wireshark.org/, ett väldigt bra verktyg i sådana här situationer, med det kan du titta exakt på vad som skickas och tas emotSv:networkstream
Iaf så ser det ut som att ä blir skickat fel till api:et.
Resten av tecknena kommer fram rätt efter att jag ändrade till UTF-8.
Förstår dock inte varför man krånglar till det och har åäö när man programmerar :S
-1 var bara fel tänkt av mig.
/Christian