sockets vo freepascale

Sekcia: Programovanie 11.10.2005 | 15:52
andrew   Návštevník
Zdrawim ludia. Mate niekto skusenosti s pracou so socketmi vo freepascale pod linuxom? Ak ano, rad by som sa nieco povypytoval. D
    • Re: sockets vo freepascale 09.10.2005 | 17:11
      ivan   Návštevník
      no najjdnoduchsie asi bude pouzit nejake uz pripravene unity napr. z kniznice SDL...a to presnejsie SDL_Net pretoze praca so socketmi je nizkourownova a dost obtiazna...alebo treba pohladat na google nejake kniznice....
    • Re: sockets vo freepascale 10.10.2005 | 19:15
      dvh   Návštevník
      Ahoj. Sockety a freepascal - to je moje, onoho casu som strasne vela programoval sockety v FPC pod linuxom, dokazal by som o tom rozpravat hodiny. Najma v fpc 1.0.6 to bol hotovy porod napisat server aby bol nezhoditelny. Napisal som jednu hru, klient/server, vsetko FPC (1.0.6) ale server je prekompilovatelny v 2.0.0. Mozno aj klient ale problem je v tom ze pouziva svgalib. Inak na pracu so soketami v linuxe, a teda aj v paskale sa pouziva tzv. "Synchronous I/O multiplexing". To ti umoznuje pracovat s akymikolvek filedescriptormi, teda aj terminal (fd=0), mys (gpm vie inicializovat mys tak ze vrati filedescriptor) a taksiez Socket() ktora vracia filedescriptor. Ked mas ten filedeskriptor tak ho vlozis do fdset (to je v podstate 256 bitova premenna) asi takto: var fds : FDSet; // hlavna slucka, snimas udalosti repeat // vynulujes fds fd_clear(fds); // vlozis FD ktore ches snimat fd_set(fds,fd_mysi_alebo_socket_alebo_terminal); // snimas udalosti if select(fds....,1000)>0 then begin //... nastala zmena if FD_IsSet(fds, 0) then ... terminal if FD_IsSet(fds, mys_fd) then ... mys ... end; write("."); // bude pisat bodky // selekt to casuje tak ze ked do 1000ms nic tak pokracuje, tu mozes dat nejaku priebezne vykonavanu cinnost until false; Cisto socketov sa tyka tusim unit socket alebo sockets. Su tam fcie socket, connect - pre klienta, bind, listen, accept - pre server... kazdopadne pozri si moju hru, tam je funkcny klient aj server na http://dvhx.host.sk/tma.html od verzie 1.9.x musis pred premenne dat fp*, alebo pouzit uses oldlinux; vela stastia, kludne sa ozvi dvh.tosomja@post.sk
      • Re: Re: sockets vo freepascale 11.10.2005 | 15:52
        Avatar nardew debian  Používateľ
        mas aj icq?