From: sa-sakamoto@... Date: 1996-04-24T15:45:14+09:00 Subject: [ruby-list:275] TCPsocket 酒本@KDDと申します。 ソケットを使用したクライアントを考えているのですが、 "\n" がないとサーバに送られません。下の例では、 msg の中間に "\n" があるとサーバに送られます。 "\n" がない場合は、^C でブレークするとその瞬間に サーバに送られるように見えます。 矢印の様に最後に付加すれば送られるのですが、 そもそも、TCPsocket というのは、LFで終端された文字列 を想定し、任意のバイナリストリングを送受することは できないものなのでしょうか? なお、サーバは、socket.doc に添付のechoサーバを使用 させていただきました。 いつも質問ばかりで申し訳ありません。 -------------クライアント s = TCPsocket.open("localhost", 4444) msg = [ 24, 0, 0 ,0x0a, 60000, 0 ,1 ] bmsg = msg.pack("NNNcNNN") bmsg = bmsg[0,25] print "len=",bmsg.size,"\n" print "bytes:",s.write( bmsg+"\n" ),"\n" # <------------ print "*\n" s.gets print "--------Received Data","\n" print "len=",$_.size,"\n" print $_.inspect,"\n" s.close -- KDD交換サービス技術部ソフトウェアセンター 交換新サービスG(旧第2課) 酒本 定幸 sa-sakamoto@kdd.co.jp TEL 03-3347-5695