酒本@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