私はオフィスで使用していた古いライブラリの代わりに、ソケットを介して通信するためにソケットを介して行われるやや不器用で古いカスタムC++フレームワークと通信します他のシステムの束。問題は、非常に特殊な方法でフォーマットしなければならない文字列を含むプレーンテキストメッセージだけを受け取ることである。.NETのソケット経由でプレーンテキストを送信する
私が直面している問題は、これまでソケットを介してプレーンテキストを送信する方法が見つかっていないことです。ソケットのSendメソッドはバイト配列だけを受け取り、リスンポイントがデータを受け取っている間に完全にスクランブルされ、バイト配列をプレーンテキストに変換するために混乱させる方法はありません。バイト配列ではなくプレーンテキストを送る必要があります。
これは、Connectと私がこれまで持ってSendメソッドです:任意の助けが理解されるであろう
Public Sub Connect(Optional ByVal pHostName As String = "", Optional ByVal pPort As Integer = 0)
If pHostName.Trim <> "" Then mHostName = pHostName
If pPort > 0 Then mPort = pPort
Try
Dim ipep As IPEndPoint
If IsIPAddress(mHostName) Then
ipep = New IPEndPoint(IPAddress.Parse(mHostName), mPort)
Else
ipep = New IPEndPoint(IPAddress.Parse(Dns.GetHostEntry(mHostName).AddressList(0).ToString), mPort)
End If
mSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
mSocket.Connect(CType(ipep, EndPoint))
mState = eState.Connected
RaiseEvent Connected()
mDataTimer.Start()
Catch ex As Exception
Me.Close()
Throw ex
End Try
End Sub
Public Sub SendData(ByVal pBytes() As Byte)
mSocket.Send(pBytes)
End Sub
Public Sub SendString(ByVal pString As String)
Dim bytes() As Byte = System.Text.Encoding.UTF8.GetBytes(pString)
mSocket.Send(bytes)
End Sub
!
相手側のサービス/スクリプトまたはアプリケーションはありますか?もっと説明すると、私たちはあなたを助けることができます。 –