これはこのフォーラムに投稿された最初の質問であり、私は c# の世界の初心者なので、これは私にとってはエキサイティングなことですが、ソケットを介して大量のデータを送信する際にいくつかの問題に直面しているため、これは詳細です私の問題について:
TCP ソケットを介して 5 Mo のバイナリ イメージを送信しています。受信側で結果を保存しています (受信したデータ)。1.5 Mo のみを取得しています ==> データが失われました (元のファイルと結果のファイルを比較しましたそして、それは私に欠けている部分を示しました)これは私が使用するコードです:
private void senduimage_Click(object sender, EventArgs e)
{
if (!user.clientSocket_NewSocket.Connected)
{
Socket clientSocket_NewSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
user.clientSocket_NewSocket = clientSocket_NewSocket;
System.IAsyncResult _NewSocket = user.clientSocket_NewSocket.BeginConnect(ip_address, NewSocket.Transceiver_TCP_Port, null, null);
bool successNewSocket = _NewSocket.AsyncWaitHandle.WaitOne(2000, true);
}
byte[] outStream = System.Text.Encoding.ASCII.GetBytes(Uimage_Data);
user.clientSocket_NewSocket.Send(outStream);
}
フォーラムでは、データをチャンクに分割するように言われていますが、これは解決策ですか? もしそうなら、どうすればこれを行うことができますか?