stream foo = Source()["uri"]{}
uri部分をstcp://addr:portとするとTCPサーバ、
ctcp://addr:portとするとTCPクライアントとなる。
Rubyなどで直接これらにデータを与えるようなコードを書くような機会は多いと思うが、
System SではTCPで受け取ったデータの区切りを改行コードで判定しているようなのでそこは注意。
sock.write(ARGV[0])みたいなコードでstcpとやりとりすると、何度実行しても結果が反映されません。
改行コードがやってくるまでストリームを流さず、ひたすらデータをバッファして待ち受けているからです。
◎: sock.write(ARGV[0] + "\n")
×: sock.write(ARGV[0])
新学期
13 年前
0 件のコメント:
コメントを投稿