2009-04-24, 15:51
  #1
Medlem
f.d. pzhukkes avatar
Tjena!
Hller p att knacka lite sockets i python men har sttt p ett problem.

Jag skickar meddelanden mellan client och server, problemet r att recv() buffrar ju den data den tar emot, och p s stt s fr jag felaktiva paket lite d och d.

Jag har lst och kommit fram till att jag mste skicka med en fixed-header p meddelandet som sger hur lngt sjlva meddelandet r, typ: "0003hej".
Problemet r att jag inte vet hur jag ska g till vga.

S som jag har listat ut s mste jag frst kolla upp 4 bytes fr att f in "0003", sedan lsa in 3 bytes till, som innehller "hej".

Hur ska jag gra?
Citera
2009-04-24, 16:15
  #2
Medlem
War Skeletons avatar
Nu r jag sjlv ny med python och har aldrig programmerat med sockets. Men du kanske letar efter en funktion som slice?

Kod:
message = "0003hej"

print message[:4]
print message[4:]

Ger outputen:

0003
hej

Mer information om slice finns p: http://www.java2s.com/Code/Python/St...tringSlice.htm
Citera
2009-04-24, 16:21
  #3
Medlem
War Skeletons avatar
Och nr jag tnker efter s kanske det rcker med att rkna antal tecken, eftersom att en strng r en lista med chars:

Kod:
message = "hejsan"

print len(message)

Ger outputen:

6
Citera
2009-04-24, 19:08
  #4
Medlem
Serversidan fr vl kra med socket.send(string) dr? Samtidigt som clienten lgger p socket.recv(1024). Lycka till
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in