- 締切済み
■ソケット通信 送信文字列のオーム返し
こんにちは。Win2000、VB6.0(SP5)でソケット通信をしようと思っています。 接続や、送信・受信をすることはできたのですが、受信したとき、送信文字列も受信され困っています。 <例> 送信:abc 受信:abc 12345(期待する返答) という感じです。 期待する返答の文字数が決まっているので、それ以外はゴミとして扱うこともできるのですが、時々ですが、abc12345のように、送信文字列と受信文字列がくっついてきてしまうこともあり、解決するならしたいと思っています。 telnetでテストすると、オーム返しはありません。 あと、相手の装置には、オーム返しの機能はないそうです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- JaritenCat
- ベストアンサー率37% (122/322)
telnetは作ったプログラムではなく他の端末ソフト(DOS窓とかTeraTermとか?)から相手装置に対して行なったのでしょうか。 そのとき、キーボードから打ち込んだ文字が画面に出てこなかったでしょうか。相手の装置がエコーバック(オーム返し)していると思うのですが。。。
- -boya-
- ベストアンサー率35% (176/494)
状況(相手の装置、変数の渡し方、コードなど)が全く 分からないので可能性だけのお話になりますが、送信の時に 使用している変数と、受信の時に使用している変数に同じものを 使っていて、文字列がくっついているだけ、、、 ってことは無いですか?
お礼
回答ありがとうございました。相手の装置にON/OFF設定があり、解決しました。
補足
返答ありがとうございます。先ほどは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 変数はグローバルではないので、文字列はくっついていないと思います。 何かお気づきの点がありましたら、よろしくお願いします。
お礼
回答ありがとうございます。 結局、相手(サーバー)側にエコーバックON/OFF設定がありました。最初の電話ではそんな機能はないと言っていたのに、、、(T-T)お騒がせしました。