<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-2"
      http-equiv="Content-Type">
  </head>
  <body text="#000099" bgcolor="#ffffff">
    Dne 21.2.2012 23:34, David Rohleder napsal(a):<br>
    <blockquote cite="mid:1329863660.3239.5.camel@uruloki" type="cite">
      <pre wrap="">azu je dle specifikace 01h, což do 1byte myslím nenarvu. 
</pre>
      <pre wrap="">
^^^^ chybu máš tady. 01h do 1byte narveš. Když jsem to upravil na
data = struct.pack("!IHHBB", 0, 0, 0, 1, 1)

tak mi ten baryk bez problémů odpověděl.
</pre>
    </blockquote>
    Děkuji. Podle specifikace modulu struct B odpovídá unsigned char.
    Takže pokud budu chtít posílat serveru inicializační zprávu, tak
    pošlu B, pokud mu později budu chtít poslat nějaká data, tak to
    musím narvat do stringu (takže do s), chápu to správně?<br>
    <br>
    A nyní se asi objevil problém, o kterém mluvil pan Vejražka:<br>
    <blockquote type="cite">
      <pre wrap="">Ale ja jsem u toho b) nepsal o tom, ze by bylo neco spatne s tvym formatem UDP paketu nebo jeho obsahem. Troufnul bych se tvrdit, ze mas obycejny sitovy problem - tvuj domaci router blokuje "nezname" prichozi UDP pakety.
</pre>
    </blockquote>
    Protože pokud kód opravím, tak, jak mi bylo doporučeno, tak stále
    nedostávam od serveru žádnou odezvu. Dalo by se nějak nastavit v
    nastavení routeru, aby pouštel UDP pakety? nějaký forwarding nebo
    něco takového.<br>
    <br>
    Jen pro jistotu, zde je kód, který pouštím:<br>
    <font face="Cordia New"><br>
      <font face="Courier New">#-*- coding: utf-8 -*-<br>
        import socket<br>
        import re<br>
        import time<br>
        import struct<br>
        import threading<br>
        <br>
        class Listener(threading.Thread):<br>
            def __init__(self, ip='baryk.fit.cvut.cz', port=4000):<br>
                threading.Thread.__init__(self)<br>
                self.ip = ip<br>
                self.port = port<br>
        <br>
            def run(self):<br>
                sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM )<br>
                sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,
        1)<br>
                sock.connect((self.ip, self.port))  <br>
                print "listening for responses..."     <br>
                while 1:<br>
                    data, from_ip = sock.recvfrom(1)<br>
                    print "data", data<br>
          <br>
        x = Listener()<br>
        x.start() <br>
        <br>
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM )<br>
        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)<br>
        data = struct.pack("!IHHBB", 0, 0, 0, 1, 1)<br>
        <br>
        s.bind(("",0))<br>
        s.sendto(data, ("baryk.fit.cvut.cz", 4000))</font><br>
      <br>
    </font>Ještě jednou děkuji za Váš čas a Vaše rady, <br>
    Jakub<br>
    <br>
  </body>
</html>