• 締切済み

■ソケット通信 送信文字列のオーム返し

こんにちは。Win2000、VB6.0(SP5)でソケット通信をしようと思っています。 接続や、送信・受信をすることはできたのですが、受信したとき、送信文字列も受信され困っています。 <例> 送信:abc 受信:abc    12345(期待する返答) という感じです。 期待する返答の文字数が決まっているので、それ以外はゴミとして扱うこともできるのですが、時々ですが、abc12345のように、送信文字列と受信文字列がくっついてきてしまうこともあり、解決するならしたいと思っています。 telnetでテストすると、オーム返しはありません。 あと、相手の装置には、オーム返しの機能はないそうです。 よろしくお願いします。

みんなの回答

回答No.2

telnetは作ったプログラムではなく他の端末ソフト(DOS窓とかTeraTermとか?)から相手装置に対して行なったのでしょうか。 そのとき、キーボードから打ち込んだ文字が画面に出てこなかったでしょうか。相手の装置がエコーバック(オーム返し)していると思うのですが。。。

izumi_charis
質問者

お礼

回答ありがとうございます。 結局、相手(サーバー)側にエコーバックON/OFF設定がありました。最初の電話ではそんな機能はないと言っていたのに、、、(T-T)お騒がせしました。

  • -boya-
  • ベストアンサー率35% (176/494)
回答No.1

状況(相手の装置、変数の渡し方、コードなど)が全く 分からないので可能性だけのお話になりますが、送信の時に 使用している変数と、受信の時に使用している変数に同じものを 使っていて、文字列がくっついているだけ、、、 ってことは無いですか?

izumi_charis
質問者

お礼

回答ありがとうございました。相手の装置にON/OFF設定があり、解決しました。

izumi_charis
質問者

補足

返答ありがとうございます。先ほどはVBが使用できない環境にいましたので、ここでコードを記載させていただきます。 <送信> Private Function fbSendMovePos() As Boolean Dim strbuff As String strbuff = "@?WHERE" & vbCrLf 'パルス用   WSock.SendData strbuff End Function <受信> Private Sub WSock_DataArrival(ByVal bytesTotal As Long) Dim strRecv As String '応答受信 WSock.GetData strRecv, vbString End Sub 変数はグローバルではないので、文字列はくっついていないと思います。 何かお気づきの点がありましたら、よろしくお願いします。

関連するQ&A