<!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 22:02, Jirka Vejrazka napsal(a):<br>
    <blockquote
cite="mid:CAFhEBEBC7k=MAG+85b3Ua++Yy6-PB4rH+m4icSpDyDzn=AkacQ@mail.gmail.com"
      type="cite">
      <pre wrap="">a) server neakceptuje UDP pakety, kde je identifikator spojeni a/nebo
sekvencni cislo nastavene na </pre>
    </blockquote>
    Pokud jsem dobře pochopil zadání tak:<br>
    <br>
    "Iniciátorem spojení je vždy klient.<br>
    Klient pošle první datagram s příznakem SYN a s identifikátorem
    spojení, sekvenčním číslem a číslem potvrzení nastaveným na nulu.
    Datová část musí obsahovat právě 1 byte s kódem příkazu:"<br>
    <blockquote type="cite">
      <pre wrap="">b) mas sitovy problem s odpovedi na UDP paket (viz muj predchozi mail).</pre>
    </blockquote>
    <br>
    Kód příkazu je dle specifikace 01h, což do 1byte myslím nenarvu. Ale
    pokud se podívám do referenční ukázky, tak oni tam při inicializiaci
    spojení posílají jako data "01" a ani když takto upravím
    struct.pack, tak od serveru nedostávám žádnou odpověd. Podle
    specifikace v zadání bych právě neměl dostat myslím žádnou odpověď,
    pokud přesně nestrefím první volání (přece jenom je to robotovi
    upadla anténa a musel se reebotovat bez nejakých komponent :-))<br>
    <br>
    <blockquote type="cite">
      <pre wrap="">Fantastické! Co to máte za učitele? To je nádhera. Učí stejně dobře jak
píše zadání?
</pre>
    </blockquote>
    Jedná se o předmět Počítačové sítě a dělí se v podstatě na tři části<br>
    - přednášky - historie sítí, tenhle kabel vypadá takhle, stíněnej
    takhle<br>
    - semináře - konfigurace cisco routerů<br>
    - prosemináře - práce s adresami - výpočet masek, nat, ...<br>
    , přičemž každou část učí někdo jiný. Přednášející je uspávač hadů,
    ale ten kdo učí prosemináře se zdá, že tomu fakt rozumí a asi i píše
    i ty zadání. Takže ta programovací část předmětu je v podstatě
    takové samostudium. Nicméně je to, alespon pro mě, ta nejzábavnější
    část celého předmětu.<br>
    <blockquote type="cite">
      <pre wrap="">Tak pošli celý kód.
</pre>
    </blockquote>
    <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>
              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("!IHHB256s", 0, 0, 0, 1, "01")<br>
      s.bind(("",0))<br>
      s.sendto(data, ("baryk.fit.cvut.cz", 4000))</font><br>
    <br>
    Děkuji<br>
    <br>
    Jakub<br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
  </body>
</html>