2016-04-09 8 views
1

Ben localhost bir bağlantı noktasında bağlantıları kabul Süper Basit Soket Sunucu olduğunu varsayalımDubleks akışına nasıl yazarım?</p> <pre><code>: server-new (port -- stream) f swap <inet4> utf8 <server> accept drop ; </code></pre> <p>Ve bunu gibi kullanabilirsiniz::

bağlantıyı bekler
IN: scratchpad 1204 server-new 

. Bir terminalde: O halde sunucunun cevap vermesini bekler. server-new, yığında duplex-stream bırakır.

T{ duplex-stream 
    { in 
     T{ decoder 
      { stream 
       T{ input-port 
        { handle T{ fd { fd 36 } } } 
        { buffer 
         T{ buffer 
          { size 65536 } 
          { ptr ALIEN: 1a44530 } 
         } 
        } 
       } 
      } 
      { code utf8 } 
     } 
    } 
    { out 
     T{ encoder 
      { stream 
       T{ output-port 
        { handle T{ fd { fd 36 } } } 
        { buffer 
         T{ buffer 
          { size 65536 } 
          { ptr ALIEN: 1d42b30 } 
         } 
        } 
       } 
      } 
      { code utf8 } 
     } 
    } 
} 

İstemciye bir dize yazmak istiyorum. Bunu nasıl yaparım?

with-stream gibi görünüyor ya da bir şey cevap olurdu, ancak sadece akış nesnesini tüketir ve hiçbir şey benim curl istemciye yazılır.

+0

'[" Faktörden Yazdır "print flush] ile akışlı *' benim için çalışır! –

+0

@fedes. Kutsal kediler, sen bir dahisin, teşekkürler! bir cevap: D – cat

+1

Bir cevap için yeterli gözükmüyordu;) Akarsuları hakkında fazla bir şey bilmiyorum, birisinin biraz madde verebileceğini görelim! –

cevap

2

Muhtemelen bir yerlerde floş eksik:

[ "hello from Factor" print flush ] with-stream 

Ayrıca with-stream akışı tırnak bitirir kapanacak dikkat edin. Açık bırakmak isterseniz, bunun yerine with-stream* kullanın.

+0

[Basit bir TCP sunucusu] (http://codegolf.stackexchange.com/a/77436/46231) – cat

İlgili konular