ソケットを使用してデスクトップ アプリから単純な文字列メッセージを送信しようとしています。クライアントにデータを送信する サーバー側のコードは次のとおりです。
swSenderSender = new StreamWriter(tcpClients[i].GetStream());
swSenderSender.WriteLine(From + " says: " + Message);
swSenderSender.Flush();
swSenderSender = null;
私は Metro アプリケーションを持っています - DataReader を使用したクライアント側コード:
var dr = new DataReader(socket.InputStream);
var stringHeader = await dr.LoadAsync(4);
int strLength = dr.ReadInt32();
uint numStrBytes = await dr.LoadAsync((uint)strLength);
string msg = dr.ReadString(numStrBytes);
これが問題です。DataReader は、送信された文字列の長さを知る必要があります。一方、StreamWriter は、単純な文字列または新しいレーンを持つ文字列と同じようにサンドすることはできません。これら2つのコードを接続するにはどうすればよいですか? または、これを行う別の方法があるかもしれません。助けてください。クライアントとサーバー間でデータを送信できるようにデータをフォーマットする方法がわかりません。